Метод 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-говертикального пустого поля.
- 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 |