Таблица графических объектов
Таблица графических объектов, одно из средств диагностики графики в Visual Studio, может помочь получить представление об объектах Direct3D, которые поддерживают определенный кадр в игре или приложении.
Таблица графических объектов выглядит так:
Примечание
Начиная с Visual Studio 2013 с обновлением 3 окна средств диагностики графики размещаются в отдельной копии среды Visual Studio.В этой специальной среде, которая называется "Анализ графики", нет ненужных меню и параметров, но в остальном анализ кадров и рабочий процесс остаются такими же, как и раньше.Подробнее об этом изменении см. в разделе Общие сведения о диагностике графики.
Основные сведения о таблице графических объектов
С помощью таблицы графических объектов можно анализировать объекты Direct3D, поддерживающие отрисовку определенного кадра. Можно выявить проблемы отрисовки конкретного объекта, изучив его свойства и данные. (С помощью других средств диагностики графики, используемых на предыдущих этапах, можно ограничить список объектов, которые могут не соответствовать ожиданиям.) Если вы нашли объект, который привел к ошибке, можно использовать визуализацию соответствующего типа, чтобы изучить его. Например, можно использовать редактор изображений для просмотра текстур или Визуализатор буфера для просмотра содержимого буфера.
Таблица графических объектов поддерживает копирование и вставку, что позволяет использовать другое средство, например Microsoft Excel, для просмотра ее содержимого.
Формат таблицы графических объектов
В окне Таблица графических объектов показаны объекты и ресурсы Direct3D, которые поддерживают кадр, связанный с выбранным событием, например объекты состояния, буферы, шейдеры, текстуры и другие ресурсы. Объекты, которые были созданы в предыдущем кадре, но не используются во время захваченного кадра, не приводятся в таблице объектов. Объекты, которые были уничтожены предыдущими событиями во время захваченного кадра, в последующих событиях опускаются. Объекты, которые не установлены в D3D10Device или D3D11DeviceContext, отображаются серым текстом. Объекты отображаются в виде таблицы.
Столбец |
Описание |
---|---|
Идентификатор |
Идентификатор объекта. |
Имя |
Сведения, относящиеся к приложению и заданные в объекте с помощью функции Direct3D SetPrivateData. Обычно служат для предоставления дополнительных идентификационных сведений об объекте. |
Тип |
Тип объекта. |
Активный |
Содержит "*" для объекта, который был установлен в D3D10Device или D3D11DeviceContext во время захваченного кадра. Это соответствует объектам, которые отображаются серым текстом, но с помощью этой записи в столбце можно сортировать таблицу объектов. |
Размер |
Размер объекта в байтах. |
Формат |
Формат объекта. Например, формат объекта текстуры или модель шейдера объекта шейдера. |
Mips |
Количество уровней MIP у объекта текстуры. Не распространяется на другие типы объектов. |
Ширина |
Ширина объекта текстуры. Не распространяется на другие типы объектов. |
Высота |
Высота объекта текстуры. Не распространяется на другие типы объектов. |
Глубина |
Глубина объекта трехмерной текстуры. Если текстура не является трехмерной, значение равно нулю. Не распространяется на другие типы объектов. |
Средства просмотра объектов графики
Для просмотра сведений об объекте откройте его, выбрав его имя в окне Таблица графических объектов. Сведения об объекте отображаются в различных форматах в зависимости от типа объекта. Например, состояние устройства (Устройство D3D10) отображается в виде отформатированного списка, а текстура отображается средством Редактор изображений и может быть изменена и сохранена.
Объект контекста устройства
Объект контекста устройства (Контекст устройства D3D11 или Устройство D3D10) особенно важен, поскольку он содержит наиболее важную информацию о состоянии и ссылки на другие объекты состояния, которые в настоящее время заданы. Сведения о контексте устройства приводятся в новом окне документа, а каждая категория сведений представлена на отдельной вкладке. Контекст устройства изменяется при выборе нового события в соответствии с текущим состоянием устройства.
Объект буфера
Данные объекта буфера (буфер D3D11 или буфер D3D10) приводятся в новом окне документа, в котором в таблице представлено содержимое буфера и предоставлен интерфейс для изменения способа его отображения. Таблица данных буфера поддерживает копирование и вставку, что позволяет использовать другое средство, например Microsoft Excel, для просмотра ее содержимого. Содержимое буфера интерпретируется согласно значению поля со списком формат, расположенного над таблицей данных буфера. В этом поле можно ввести составной формат данных, который состоит из типов данных, перечисленных ниже в таблице. Например, "float int" выводит список структур, содержащих 32-разрядное значение с плавающей запятой, за которым следует 32-разрядное целое число со знаком. Указанные составные форматы данных добавляются в поле со списком для последующего использования.
Тип |
Описание |
---|---|
float |
32-разрядное значение с плавающей запятой. |
float2 |
Вектор, содержащий два 32-разрядных значения с плавающей запятой. |
float3 |
Вектор, содержащий три 32-разрядных значения с плавающей запятой. |
float4 |
Вектор, содержащий четыре 32-разрядных значения с плавающей запятой. |
byte |
8-разрядное целое значение со знаком. |
2byte |
16-разрядное целое значение со знаком. |
4byte |
32-разрядное целое значение со знаком. То же, что и int. |
8byte |
64-разрядное целое значение со знаком. То же, что и int64. |
xbyte |
8-разрядное шестнадцатеричное значение. |
x2byte |
16-разрядное шестнадцатеричное значение. |
x4byte |
32-разрядное шестнадцатеричное значение. То же, что и xint. |
x8byte |
64-разрядное шестнадцатеричное значение. То же, что и xint64. |
ubyte |
8-разрядное целочисленное значение без знака. |
u2byte |
16-разрядное целочисленное значение без знака. |
u4byte |
32-разрядное целочисленное значение без знака. То же, что и uint. |
u8byte |
64-разрядное целочисленное значение без знака. То же, что и uint64. |
half |
16-разрядное значение с плавающей запятой. |
half2 |
Вектор, содержащий два 16-разрядных значения с плавающей запятой. |
half3 |
Вектор, содержащий три 16-разрядных значения с плавающей запятой. |
half4 |
Вектор, содержащий четыре 16-разрядных значения с плавающей запятой. |
double |
64-разрядное значение с плавающей запятой. |
int |
32-разрядное целое значение со знаком. То же, что и 4byte. |
int64 |
64-разрядное целое значение со знаком. То же, что и 8byte. |
xint |
32-разрядное шестнадцатеричное значение. То же, что и x4byte. |
xint64 |
64-разрядное шестнадцатеричное значение. То же, что и x8byte. |
uint |
32-разрядное целочисленное значение без знака. То же, что и u4byte. |
uint64 |
64-разрядное целочисленное значение без знака. То же, что и u8byte. |
bool |
Логическое значение (true или false). Каждое значение логического типа представлено 32-разрядным значением. |
См. также
Задачи
Пошаговое руководство. Отсутствие объектов вследствие состояния устройства