структура DXGI_PRESENT_PARAMETERS (dxgi1_2.h)
Описывает сведения о презентации, помогающие операционной системе оптимизировать представление.
Синтаксис
typedef struct DXGI_PRESENT_PARAMETERS {
UINT DirtyRectsCount;
RECT *pDirtyRects;
RECT *pScrollRect;
POINT *pScrollOffset;
} DXGI_PRESENT_PARAMETERS;
Члены
DirtyRectsCount
Число обновленных прямоугольников, обновляемых в заднем буфере для представленного кадра. Операционная система использует эти сведения для оптимизации представления. Для этого элемента можно задать значение 0, чтобы указать, что обновляется весь кадр.
pDirtyRects
Список обновленных прямоугольников, которые обновляются в заднем буфере для представленного кадра. Приложение должно обновлять каждый пиксель в каждом прямоугольнике, который он передает в среду выполнения; приложение не может предположить, что пиксели сохранены из предыдущего кадра. Дополнительные сведения об обновлении грязное прямоугольников см. в разделе Примечания. Если DirtyRectsCount равно 0, этому члену можно задать значение NULL. Приложение не должно обновлять пиксели за пределами грязное прямоугольников.
pScrollRect
Указатель на прокручиваемый прямоугольник. Прокручиваемый прямоугольник — это прямоугольник предыдущего кадра, из которого битовый блок среды выполнения передает содержимое (bitblts). Среда выполнения также использует прокрученный прямоугольник для оптимизации представления на сервере терминалов и в сценариях непрямого отображения.
Прокручиваемый прямоугольник также описывает целевой прямоугольник, т. е. область текущего кадра, заполненную прокрученным содержимым. Для этого элемента можно задать значение NULL , чтобы указать, что содержимое не прокручивается из предыдущего кадра.
pScrollOffset
Указатель на смещение прокручиваемой области, которая переходит от исходного прямоугольника (предыдущего кадра) к целевому прямоугольнику (текущего кадра). Для этого элемента можно задать значение NULL , чтобы указать отсутствие смещения.
Комментарии
Эта структура используется методом Present1 .
Прямоугольник прокрутки и список грязное прямоугольников могут перекрываться. В этом случае грязное прямоугольники берут приоритет. Затем приложения могут содержать фрагменты динамического содержимого поверх прокручиваемой области. Например, приложение может одновременно прокручивать страницу и воспроизводить видео.
Этот пример показан на следующей схеме и координатах.
![Иллюстрация перекрытия прямоугольников прокрутки и грязное](images/dxgipresentparam.png)
DirtyRectsCount = 2
pDirtyRects[ 0 ] = { 10, 30, 40, 50 } // Video
pDirtyRects[ 1 ] = { 0, 70, 50, 80 } // New line
*pScrollRect = { 0, 0, 50, 70 }
*pScrollOffset = { 0, -10 }
Части предыдущего кадра и содержимое, отображаемое приложением, объединяются для создания окончательного кадра, отображаемого операционной системой на экране дисплея. Большая часть окна прокручивается из предыдущего кадра. Приложение должно обновить видеокадр, указав новый фрагмент содержимого, который отображается из-за прокрутки.
Пунктирный прямоугольник отображает прямоугольник прокрутки в текущем кадре. Прямоугольник прокрутки задается членом pScrollRect . Стрелка показывает смещение прокрутки. Смещение прокрутки задается элементом pScrollOffset . Заполненные прямоугольники отображают грязное прямоугольники, которые приложение обновило новым содержимым. Заполненные прямоугольники задаются элементами DirtyRectsCount и pDirtyRects .
Прямоугольник прокрутки и смещение не поддерживаются для параметра DXGI_SWAP_EFFECT_DISCARD или DXGI_SWAP_EFFECT_SEQUENTIAL present. Грязные прямоугольники и прямоугольники прокрутки не поддерживаются для цепочек буферов с несколькими выборками.
Фактическая реализация композиции и необходимых битов отличается для модели bitblt и модели flip. Дополнительные сведения об этих моделях см. в разделе DxGI Flip Model.
Дополнительные сведения о цепочке буферов и оптимизации представления см. в статье Улучшение представления с помощью модели flip, грязное прямоугольников и прокручиваемых областей.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2012 и обновление платформы для Windows Server 2008 R2 [классические приложения | Приложения UWP] |
Верхняя часть | dxgi1_2.h |