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