Метод ID3D12Debug3::SetEnableSynchronizedCommandQueueValidation (d3d12sdklayers.h)
Включает или отключает синхронизацию зависимой очереди команд при использовании устройства Direct3D 12 с включенным уровнем отладки.
Синтаксис
void SetEnableSynchronizedCommandQueueValidation(
BOOL Enable
);
Параметры
Enable
Тип: BOOL
Значение TRUE, чтобы включить синхронизацию зависимой очереди команд. В противном случае — ЗНАЧЕНИЕ FALSE.
Возвращаемое значение
None
Remarks
Синхронизация зависимой очереди команд — это функция уровня отладки D3D12, которая позволяет уровню отладки более точно отслеживать состояния ресурсов при включении. Синхронизация зависимой очереди команд включена по умолчанию.
Если включена синхронизация зависимой очереди команд, уровень отладки сдерживает фактическую отправку работы GPU до тех пор, пока не будут выполнены все невыполненные условия ожидания . Это дает уровню отладки возможность делать разумные предположения о состоянии GPU (например, состояния ресурсов) на временная шкала ЦП, когда несколько очередей команд потенциально выполняют одновременную работу.
Если синхронизация зависимой очереди команд отключена, все состояния ресурсов, отслеживаемые уровнем отладки, очищаются при каждом вызове ID3D12CommandQueue::Signal . Это приводит к значительно менее полезной проверке состояния ресурса.
Отключение синхронизации зависимой очереди команд может снизить некоторые издержки на производительность уровня отладки при использовании нескольких очередей команд. Однако рекомендуется оставить его включенным, если это не проблематично. Обратите внимание, что приложения, использующие только одну очередь команд, не будут видеть никаких изменений производительности при отключенной синхронизации зависимой очереди команд.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | сборка Windows 10 20348 |
Минимальная версия сервера | сборка Windows 10 20348 |
Целевая платформа | Windows |
Header | d3d12sdklayers.h |