IDXGISwapChain1::P resent1 方法 (dxgi1_2.h)

在顯示畫面上呈現框架。

語法

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

參數

SyncInterval

整數,指定如何將框架的呈現與垂直空白同步處理。

對於 bit-block transfer (bitblt) 模型 (DXGI_SWAP_EFFECT_DISCARDDXGI_SWAP_EFFECT_SEQUENTIAL) ,值為:

  • 0 - 立即發生簡報,沒有同步處理。
  • 1 到 4 - 同步處理 第 n個垂直空白後的簡報。
對於翻轉模型 (DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL) ,值為:
  • 0 - 取消先前呈現畫面上的剩餘時間,並在佇列較新的畫面格時捨棄此畫面。
  • 1 到 4 - 同步處理至少 n 個垂直空白的簡報。
如需示範同步間隔值如何影響翻轉簡報佇列的範例,請參閱。

如果更新區域跨一個以上的輸出 (IDXGIOutput1 所代表的輸出 ) ,Present1 會針對包含目標視窗工作區最大子矩形的輸出執行同步處理。

PresentFlags

包含交換鏈結呈現選項的整數值。 這些選項是由 DXGI_PRESENT 常數所定義。

[in] pPresentParameters

DXGI_PRESENT_PARAMETERS 結構的指標,描述要呈現之框架的更新矩形和卷動資訊。

傳回值

可能的傳回值包括:S_OK、 DXGI_ERROR_DEVICE_REMOVEDDXGI_STATUS_OCCLUDEDDXGI_ERROR_INVALID_CALL或E_OUTOFMEMORY。

備註

應用程式可以使用 Present1 ,藉由指定卷動和中途矩形來優化簡報。 當運行時間有這些矩形的相關信息時,運行時間就可以在簡報期間更有效率地執行必要的位,並將此元數據傳遞至桌面視窗管理員 (DWM) 。 DWM 接著可以使用元數據來優化簡報,並將元數據傳遞至間接顯示和終端機伺服器,以透過網路將流量優化。 應用程式必須限制其修改僅限於傳遞給 Present1 的已變更區域,以及修改整個中途區域,以避免未定義的資源內容遭到公開。

針對使用設定DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL值所建立的翻轉簡報模型交換鏈結,成功的簡報會導致圖形管線中的後台緩衝區 0 解除系結,但當您在 Flags 參數中傳遞DXGI_PRESENT_DO_NOT_SEQUENCE旗標時除外。

如需當您將內容呈現至畫面時,數據值如何變更的資訊,請參閱 轉換色彩空間的數據

如需當您的應用程式使用多個線程時呼叫 Present1 的相關信息,請參閱多線程考慮和多線程和 DXGI

翻轉簡報模型佇列

假設下列具有同步間隔值的畫面會先從最舊 (A) 排入佇列,再排入最新的 (E) ,再呼叫 Present1

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

當您呼叫 Present1 時,運行時間只會顯示 1 個垂直空白間隔的框架 A。 運行時間會因為畫面 B 中的同步間隔 0 而提早終止框架 A。然後運行時間會顯示 1 個垂直空白間隔的框架 D,然後框架 E,直到您提交新的簡報為止。 運行時間會捨棄框架 B 和 C。

可變重新整理速率顯示

這是可變重新整理速率的需求,顯示已啟用卸除。 CheckFeatureSupport 方法可用來判斷這項功能是否可用,以及設定必要的旗標是指DXGI_PRESENT_ALLOW_TEARINGDXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING的描述,而 DXGI 1.5 改善[變數重新整理速率] 會顯示/Vsync off 區段。

規格需求

需求
最低支援的用戶端 適用於 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 適用於 Windows Server 2008 R2 的 Windows Server 2012 和平臺更新 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 dxgi1_2.h
程式庫 Dxgi.lib

另請參閱

IDXGISwapChain1

目前