閱讀英文

共用方式為


D3DLOCK

零個或多個鎖定選項的組合,描述要執行的鎖定類型。

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

 

常數資訊

需求
標頭 d3d9types.h
最低作業系統 Windows 98

 

Direct3D 常數

LockRect

鎖定

LockRect

LockRect

鎖定

LockBox

LockBox

LockIndexBuffer

LockVertexBuffer

LockVertexBuffer

LockAttributeBuffer

LockAttributeBuffer

LockIndexBuffer

LockVertexBuffer