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
捲動矩形的指標。 捲動矩形是上一個框架的矩形,運行時間位區塊會從中傳輸 (位) 內容。 運行時間也會使用滾動矩形來優化終端機伺服器和間接顯示案例中的簡報。
滾動矩形也會描述目的地矩形,也就是目前框架上已填滿卷動內容的區域。 您可以將這個成員設定為 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顯示選項不支援卷動矩形和位移。 多重取樣交換鏈結不支援已變更的矩形和滾動矩形。
組合和必要 bitblts 的實際實作與 bitblt 模型與翻轉模型不同。 如需這些模型的詳細資訊,請參閱 DXGI 翻轉模型。
如需翻轉模型交換鏈結和優化簡報的詳細資訊,請參閱 使用翻轉模型、變更矩形和卷動區域來增強簡報。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | 適用於 Windows Server 2008 R2 的 Windows Server 2012 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
標頭 | dxgi1_2.h |