Поделиться через


Таблица графических объектов

Таблица графических объектов, одно из средств диагностики графики в Visual Studio, может помочь получить представление об объектах Direct3D, которые поддерживают определенный кадр в игре или приложении.

Таблица графических объектов выглядит так:

Объекты 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-разрядным значением.

См. также

Задачи

Пошаговое руководство. Отсутствие объектов вследствие состояния устройства

Другие ресурсы

Отладка графики DirectX