D3DPRESENT
Описывает связь между частотой обновления адаптера и скоростью, с которой выполняются операции Present или Present . Эти значения также служат значениями флагов для поля PresentationIntervals объекта D3DCAPS9.
Константа | Описание |
---|---|
|
Используйте передний буфер в качестве исходной и целевой поверхностей во время отрисовки. Запланирована синхронизация кадров, но отображаемая поверхность не меняется. Этот флаг доступен только в том случае, если приложение находится в полноэкранном режиме и D3DSWAPEFFECT_FLIPEX указано. Этот флаг доступен только в Direct3D 9Ex. |
|
Презентация не может быть запланирована устройством Hal. Если этот флаг установлен при вызове метода Present, а оборудование занято обработкой или ожидает интервала вертикальной синхронизации, то Функция Present вернет D3DERR_WASSTILLDRAWING, чтобы указать, что операция прорези не завершена. |
|
Зарезервировано. |
|
D3DPRESENT_INTERVAL_IMMEDIATE применяется в этом вызове Present . Этот флаг можно указать только при использовании D3DSWAPEFFECT_FLIPEX. Поведение презентации в оконном режиме и полноэкранном режиме одинаково. Это особенно полезно для мультимедийных приложений, которые хотят удалить кадры, обнаруженные как поздние, и представить последующие кадры во время композиции. Если этот флаг указан неправильно, возвращается ошибка недопустимого параметра. При постановке в очередь нескольких последовательных кадров с D3DPRESENT_FORCEIMMEDIATEs отображается только последний кадр для оконной и полноэкранной презентации. Этот флаг доступен в Direct3D 9Ex в операционных системах Windows 7 или более поздних версий. При использовании D3DSWAPEFFECT_FLIPEX каждый кадр, представленный с помощью D3DPRESENT_INTERVAL_IMMEDIATE или D3DPRESENT_INTERVAL_FORCEIMMEDIATE, переопределяет нынешний интервал предыдущего кадра. Например, если вы ставите в очередь следующие кадры с использованием следующих эффектов переключения: кадр A (D3DPRESENT_INTERVAL_ONE), кадр B(D3DPRESENT_INTERVAL_ONE), кадр C(D3DPRESENT_INTERVAL_ONE), кадр D(D3DPRESENT_INTERVAL_FORCEIMMEDIATE), кадр D переопределит нынешний интервал кадра C. Отображаемые кадры в настоящий интервал : кадр A, кадр B, (кадр C переопределен) кадр D. См. заметки. |
|
Это почти эквивалентно D3DPRESENT_INTERVAL_ONE. См. примечания. |
|
Драйвер будет ожидать вертикального периода отката (среда выполнения будет "луч следовать", чтобы предотвратить разрыв).
Операции представления не будут затронуты чаще, чем обновление экрана; среда выполнения завершит не более одной операции Present для каждого периода обновления адаптера. Это эквивалентно использованию D3DSWAPEFFECT_COPYVSYNC в DirectX 8.1. Этот параметр всегда доступен для оконных и полноэкранных цепочек буферов. См. примечания. |
|
Драйвер будет ожидать вертикального периода отката.
Представленные операции не будут затронуты чаще, чем каждое второе обновление экрана. Проверьте ограничение PresentationIntervals (см. раздел D3DCAPS9), чтобы узнать, поддерживается ли драйвером D3DPRESENT_INTERVAL_TWO. |
|
Драйвер будет ожидать вертикального периода отката.
Операции с презентацией будут затронуты не чаще, чем каждое третье обновление экрана. Проверьте ограничение PresentationIntervals (см. раздел D3DCAPS9), чтобы узнать, поддерживается ли драйвером D3DPRESENT_INTERVAL_THREE. |
|
Драйвер будет ожидать вертикального периода отката.
Представленные операции будут затронуты не чаще, чем каждое четвертое обновление экрана. Проверьте член PresentationIntervals (см. D3DCAPS9), чтобы узнать, поддерживается ли драйвером D3DPRESENT_INTERVAL_FOUR. |
|
Среда выполнения немедленно обновляет клиентную область окна и может сделать это несколько раз в течение периода обновления адаптера. Это эквивалентно использованию D3DSWAPEFFECT_COPY в DirectX 8.
Текущая операция может быть затронута немедленно. Этот параметр всегда доступен для оконных и полноэкранных цепочек буферов. См. примечания. |
|
Содержимое заднего буфера, которое необходимо представить, находится в линейном цветовом пространстве.
|
D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR |
Вырезает отрисованное содержимое на монитор или устройство, на которое нацелен адаптер, отображает эскизы содержимого в представлении Flip3D и эскизы панели задач на других мониторах. Этот флаг доступен только в Direct3D 9Ex. Дополнительные сведения об этой функции Windows Vista см. в разделе Диспетчер окон рабочего стола . Если вы не работаете в режиме композиции рабочего стола, флаг обеспечивает то же поведение, что и D3DPRESENTFLAG_DEVICECLIP. Примечание: Этот флаг следует использовать только с эффектом подкачки D3DSWAPEFFECT_FLIPEX. Использование этого флага с другими эффектами переключения является устаревшим и может не работать в будущих версиях Windows. |
|
Обновления положение наложения или данные colorkey, не вызывая фактического переворачивания и не изменяя длительность отображения изображения. Этот флаг доступен только в Direct3D 9Ex. |
|
Отключает наложение оборудования. Этот флаг доступен только в Direct3D 9Ex. |
|
Перерисовывает данные colorkey. Этот флаг доступен только в Direct3D 9Ex. |
Комментарии
Оконный режим поддерживает D3DPRESENT_INTERVAL_DEFAULT, D3DPRESENT_INTERVAL_IMMEDIATE и D3DPRESENT_INTERVAL_ONE. D3DPRESENT_INTERVAL_DEFAULT и D3DPRESENT_INTERVAL_ONE практически эквивалентны (см. сведения о разрешении таймера ниже). Они выполняются аналогично COPY_VSYNC в том, что есть только один подарок на кадр, и они предотвращают разрыв с лучом следовать. В отличие от этого, D3DPRESENT_INTERVAL_IMMEDIATE будет пытаться обеспечить неограниченную скорость презентации.
Полноэкранный режим поддерживает аналогичное использование оконного режима, поддерживая D3DPRESENT_INTERVAL_IMMEDIATE независимо от частоты обновления или эффекта подкачки. D3DPRESENT_INTERVAL_DEFAULT использует разрешение системного таймера по умолчанию, в то время как D3DPRESENT_INTERVAL_ONE вызывает timeBeginPeriod для улучшения разрешения системного таймера. Это повышает качество вертикальной синхронизации, но занимает немного больше времени обработки. Оба параметра пытаются синхронизироваться по вертикали.
Требования
Требование | Значение |
---|---|
Заголовок |
|