D3DLOCK
零個或多個鎖定選項的組合,描述要執行的鎖定類型。
#define | 描述 |
---|---|
D3DLOCK_DISCARD | 應用程式會捨棄鎖定區域內的所有記憶體。 對於頂點和索引緩衝區,將會捨棄整個緩衝區。 只有在使用動態使用量建立資源時,此選項才有效, (請參閱 D3DUSAGE) 。 |
D3DLOCK_DONOTWAIT | 如果驅動程式無法立即鎖定表面,可讓應用程式取回 CPU 週期。 如果設定此旗標,且驅動程式無法立即鎖定表面,鎖定呼叫會傳回D3DERR_WASSTILLDRAWING。 只有在鎖定使用 CreateOffscreenPlainSurface、 CreateRenderTarget或 CreateDepthStencilSurface建立的介面時,才能使用此旗標。 此旗標也可以與背景緩衝區搭配使用。 |
D3DLOCK_NO_DIRTY_UPDATE | 根據預設,資源的鎖定會將已變更的區域新增至該資源。 此選項可防止對資源的中途狀態進行任何變更。 當應用程式在鎖定作業期間有一組區域變更的其他資訊時,應該使用此選項。 |
D3DLOCK_NOOVERWRITE | 表示在繪圖呼叫中參考的記憶體,在鎖定期間不會修改最後一個沒有這個旗標的鎖定。 當應用程式將資料附加至資源時,這可能會啟用優化。 指定此旗標可讓驅動程式在資源正在使用中時立即傳回,否則驅動程式必須先使用資源,才能從鎖定傳回。 |
D3DLOCK_NOSYSLOCK | 視訊記憶體鎖定的預設行為是保留全系統的重要區段,保證鎖定期間不會發生任何顯示模式變更。 此選項會導致整個系統的重要區段在鎖定期間不會保留。 鎖定作業相當耗時,但可讓系統執行其他職責,例如移動滑鼠游標。 此選項適用于長時間鎖定,例如軟體轉譯的後端緩衝區鎖定,否則會對系統回應造成負面影響。 |
D3DLOCK_READONLY | 應用程式不會寫入緩衝區。 這可讓以非原生格式儲存的資源,以在解除鎖定時儲存重新壓縮步驟。 |
常數資訊
需求 | 值 |
---|---|
標頭 | d3d9types.h |
最低作業系統 | Windows 98 |
相關主題
-
LockVertexBuffer