Комментарии 21
В новой(2013) Visual Studio MS утверждали, что сильно улучшили диагностику графики. И те возможности RenderDoc, которые вы описали в этой статье, там появились. Сам не пробовал, но судя по презентации — в том числе отладка сторонних приложений. Впрочем, на счет дочерних процессов и корректной обработки ланчеров ничего не знаю, как и на счет реального удобства отладки сторонних приложений.
+2
Студия — отличный инструмент для разработки и отладки своего DirectX-кода, если у вас есть код — ничего кроме VS 2013 и не надо. А вот как отлаживать чужие программы — я так и не понял. Если кто-то может показать\рассказать как отладить хоть что-нибудь без кода и pdb-файлов — буду очень благодарен.
+5
В студии очень просто работать с Graphics Debugger'ом. Создаем пустой native проект (С++), или открываем абсолютно любой существующий. В настройках проекта, в разделе Debugging в поле Command вписываем полный путь к исследуемому exe. По необходимости также заполняем поля Command Arguments и Working Directory. Закрываем настройки. Графический дебаггинг запускаем в меню Debug->Graphics->Start Diagnostics. Никаких PDB и «своего DirectX-кода» при этом не надо. Возможность дебагать child процессы была в PIX. Я когда игры реверсил постоянно ею пользовался. Сейчас в студийном дебаггере такой возможности найти не могу, возможно ее и нету. Зато в NSight есть. В настройках проекта надо поставить галочку «Application is a launcher». После запуска появится список child процессов среди которых надо выбрать нужный. Я не буду сравнивать различные дебаггеры (хотя бы потому что не работал с RenderDoc). Мне с лихвой хватало возможностей PIX/Visual Studio Graphics Debugger, PerfHUD/NSight, GPA, но весь тот функционал, что описан в статье есть во всех этих утилитах. Могу лишь только сказать, что все тезисы в разделе «Но:» кроме «PIX — уже устарел, не развивается и не работает на последних ОС» не соответсвуют действительности.
+1
Вообще не надо никаких проектов создавать, просто открываем *.exe-шник ;)
+1
Могу лишь только сказать, что все тезисы в разделе «Но:» кроме «PIX — уже устарел, не развивается и не работает на последних ОС» не соответсвуют действительности.
Забьёмся на что-нибудь, что ни PIX'ом, ни студией Вы не разберёте отрисовку кадра интерфейса Хрома так, как показано в статье с использованием RenderDoc? PIX тупо валит Хром на коннекте к дочернему процессу, а Студия просто не умеет.
0
Никаких проблем.
Project -> Open solution
открываем *.exe файл (дада, именно экзешник который будем отлаживать, как не покажется это странным)
Далее в меню Debug->Graphics->Run diagnostic.
Собственно все.
Project -> Open solution
открываем *.exe файл (дада, именно экзешник который будем отлаживать, как не покажется это странным)
Далее в меню Debug->Graphics->Run diagnostic.
Собственно все.
0
Не решает проблему лаунчеров\дочерних процессов.
+1
Но в статье черным по белому:
Visual Studio — заточена именно под разработку своего софта, а не анализ чужогоИ комментарием выше вы говорите:
Студия — отличный инструмент для разработки и отладки своего DirectX-кода, если у вас есть код — ничего кроме VS 2013 и не надо. А вот как отлаживать чужие программы — я так и не понял. Если кто-то может показать\рассказать как отладить хоть что-нибудь без кода и pdb-файлов — буду очень благодарен.Но вот последний ваш коммент на благодарность ну никак не похож. :)
0
Классно, а для OpenGL что-нибудь такое есть?
0
Valve VOGL. Статья о нем на английском richg42.blogspot.de/2014/01/vogl-opengl-tracerdebugger-bonus-content.html
+3
В статью, помимо ссылки на скачивание, неплохо бы добавить ещё эти:
Домашняя страница RenderDoc
Страница RenderDoc на GitHub
Домашняя страница RenderDoc
Страница RenderDoc на GitHub
0
Я попробовал RenderDoc — мне кажется, GPA сейчас удобнее. Во-первых, нормально показывает меши. Но самое главное — умеет аттачиться к процессу, запускаемому откуда-то еще. Когда редактор и игра живут в разных процессах и хочется подебажить рендер в редакторе — особенно удобно. Ну и как маленький бонус — каунтеры для интеловских железок.
Еще с Интелом охуенно работать — посылаешь им frame capture, на котором что-то не работает — в ответку получаешь оперативно внутренний билд с фиксом.
Еще с Интелом охуенно работать — посылаешь им frame capture, на котором что-то не работает — в ответку получаешь оперативно внутренний билд с фиксом.
+1
А что значит «нормально показывает меши»? RenderDoc тоже показывает, и в таблицах и графически.


0
ок, был не прав, значит
А как рендердок работает с компут шейдерами, тесселяцией, hdr-текстурами и depth-buffer'ами?
А как рендердок работает с компут шейдерами, тесселяцией, hdr-текстурами и depth-buffer'ами?
0
RenderDoc — достойная замена PIX. Но им пользуюсь только для дебага шейдеров, все остальное делаю в Intel GPA для профайлинга Stage3D приложений(Flash). Два года назад писал про Intel GPA для флешеров, может кому будет интересно.
Спасибо за статью! С интересом слежу за развитием RenderDoc.
Спасибо за статью! С интересом слежу за развитием RenderDoc.
0
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.
RenderDoc — графический отладчик для DirectX11 от Crytek