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


Метод IDXGIDevice::SetGPUThreadPriority (dxgi.h)

Задает приоритет потока GPU.

Синтаксис

HRESULT SetGPUThreadPriority(
  INT Priority
);

Параметры

Priority

Тип: INT

Значение, указывающее требуемый приоритет потока GPU. См. раздел "Примечания" в этом разделе.

Возвращаемое значение

Тип: HRESULT

Возврат S_OK в случае успешного выполнения; в противном случае возвращается E_INVALIDARG, если недопустимый параметр Priority .

Замечания

Чтобы использовать метод SetGPUThreadPriority , необходимо получить полное представление о планировании GPU. Если используется неправильно, метод SetGPUThreadPriority может препятствовать скорости отрисовки и привести к плохому интерфейсу пользователя, чтобы профилировать приложение, чтобы понять влияние изменения приоритета на приложение и на систему.

Значения для функции параметра Priority следующим образом: Определение битов приоритета:

    Бит 0-4: значение приоритета
    Bit 5-29: зарезервировано
    Бит 30: абсолютный флаг приоритета (D3DKMT_SETCONTEXTSCHEDULINGPRIORITY_ABSOLUTE), может быть включен с битами приоритета [4:0] (только для Windows 10+, в противном случае не используется)
    Бит 31: подписанный бит

Бит 30 (абсолютный флаг приоритета) можно использовать для управления режимом работы для этого API.

Режим относительного приоритета : API будет использовать этот режим, если для бита 30 задано значение 0. В этом режиме значение приоритета должно быть от -7 до 7, включительно, где значение приоритета 0 представляет обычный приоритет (по умолчанию для всех контекстов) и -7 представляет приоритет простоя. Бит 31 используется для управления знаком приоритета.

Абсолютный режим приоритета : API будет использовать этот режим, если значение бита 30 имеет значение 1. В этом режиме значение приоритета (для битов[4:0]) должно быть от 0 до 31. Значение этих уровней приоритета описано ниже. Используйте D3DKMT_SETCONTEXTSCHEDULINGPRIORITY_ABSOLUTE только если у вас есть тщательное понимание приоритетов dxgkrnl/графики и понимание последствий их изменения.

Биты значений приоритета[4:0] преобразуется в следующие значения приоритета:

    0: приоритет простоя . Ход выполнения пересылки не гарантируется, если более высокие приоритеты используют большую часть времени акселератора.
    1: обычный приоритет — большинство процессов используют этот приоритет с гарантией прогресса вперед.
    2 -15 : зарезервировано
    16-29: Soft Realtime - предопределяет более низкие приоритеты и периодически дает более низкие приоритеты, чтобы обеспечить их прогресс вперед.
    30. Жесткое время реального времени — используется для очень чувствительных к задержке хорошо привязанных рабочих нагрузок. Этот приоритет не дает более низких приоритетов.
    31: внутреннее использование

Требования

Требование Ценность
целевая платформа Виндоус
Заголовок dxgi.h
Библиотека DXGI.lib

См. также

интерфейсы DXGI

IDXGIDevice

IDXGIDevice::GetGPUThreadPriority