Метод IDXGISwapChain1::P resent1 (dxgi1_2.h)

Представляет фрейм на экране дисплея.

Синтаксис

HRESULT Present1(
       UINT                          SyncInterval,
       UINT                          PresentFlags,
  [in] const DXGI_PRESENT_PARAMETERS *pPresentParameters
);

Параметры

SyncInterval

Целое число, указывающее способ синхронизации представления кадра с вертикальным пустым.

Для модели передачи битовых блоков (bitblt) (DXGI_SWAP_EFFECT_DISCARD или DXGI_SWAP_EFFECT_SEQUENTIAL) значения:

  • 0 — презентация происходит немедленно, синхронизация отсутствует.
  • От 1 до 4 — синхронизация презентации после n-говертикального пустого поля.
Для модели flip (DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL) значения:
  • 0 — отмена оставшегося времени для ранее представленного кадра и отмена этого кадра, если новый кадр находится в очереди.
  • От 1 до 4 — синхронизируйте презентацию по крайней мере для n вертикальных пробелов.
Пример, показывающий, как значения интервала синхронизации влияют на очередь пролистывания презентации, см. в разделе Примечания.

Если в области обновления имеется несколько выходных данных (каждый из которых представлен IDXGIOutput1), present1 выполняет синхронизацию с выходными данными, содержащими наибольший под прямоугольник клиентской области целевого окна.

PresentFlags

Целочисленное значение, содержащее параметры представления цепочки буферов. Эти параметры определяются константами DXGI_PRESENT .

[in] pPresentParameters

Указатель на структуру DXGI_PRESENT_PARAMETERS , которая описывает обновленные прямоугольники и сведения о прокрутке кадра для представления.

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

Возможные возвращаемые значения: S_OK, DXGI_ERROR_DEVICE_REMOVED , DXGI_STATUS_OCCLUDED, DXGI_ERROR_INVALID_CALL или E_OUTOFMEMORY.

Комментарии

Приложение может использовать Present1 для оптимизации презентации путем указания прямоугольников прокрутки и грязное. Если в среде выполнения есть сведения об этих прямоугольниках, среда выполнения может более эффективно выполнять необходимые битовые фрагменты во время презентации и передавать эти метаданные в диспетчер окон рабочего стола (DWM). Затем DWM может использовать метаданные для оптимизации представления и передавать метаданные на косвенные дисплеи и серверы терминалов для оптимизации трафика по сети. Приложение должно ограничивать свои изменения только грязное регионами, которые оно передает в Present1, а также изменять весь регион грязное, чтобы избежать предоставления неопределенного содержимого ресурсов.

Для цепочек буферов модели представления, создаваемых с помощью набора значений DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL , успешная презентация приводит к отмене привязки обратного буфера 0 к графическому конвейеру, за исключением случаев, когда вы передаете флаг DXGI_PRESENT_DO_NOT_SEQUENCE в параметре Flags .

Сведения о том, как изменяются значения данных при отображении содержимого на экране, см. в разделе Преобразование данных для цветового пространства.

Сведения о вызове Present1 , когда приложение использует несколько потоков, см. в разделах Вопросы многопоточности и Многопоточность и DXGI.

Очередь "Отразить модель презентации"

Предположим, что следующие кадры со значениями интервала синхронизации помещаются в очередь от старых (A) до новых (E) перед вызовом Present1.

A: 3, B: 0, C: 0, D: 1, E: 0

При вызове Present1 среда выполнения отображает кадр A только для 1 вертикального пустого интервала. Среда выполнения завершает кадр A раньше из-за интервала синхронизации 0 в кадре B. Затем среда выполнения отображает кадр D для 1 вертикального пустого интервала, а затем кадр E, пока вы не отправите новую презентацию. Среда выполнения удаляет кадры B и C.

Отображение переменной частоты обновления

Это требование переменной частоты обновления отображает, что разрыв включен. Метод CheckFeatureSupport можно использовать для определения доступности этой функции, а также для установки необходимых флагов см. описания DXGI_PRESENT_ALLOW_TEARING и DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING, а также раздел Переменная частота обновления и выключение Vsync в dxGI 1.5 Improvements.

Требования

Требование Значение
Минимальная версия клиента Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 и обновление платформы для Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header dxgi1_2.h
Библиотека Dxgi.lib

См. также раздел

IDXGISwapChain1

Настоящее время