IDirect3DDevice9::BeginScene 方法 (d3d9helper.h)
開始場景。
Syntax
HRESULT BeginScene();
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。 如果在 IDirect3DDevice9::BeginScene 已在 IDirect3DDevice9::BeginSceice9::BeginScene/IDirect3DDevice9::EndScene 配對中呼叫,此方法將會 D3DERR_INVALIDCALL失敗。 只有當 IDirect3DDevice9::BeginScene 呼叫兩次,而不先呼叫 IDirect3DDevice9::EndScene 時,才會發生這種情況。
備註
應用程式在執行任何轉譯之前,必須先呼叫 IDirect3DDevice9::BeginScene ,而且必須在轉譯完成時呼叫 IDirect3DDevice9::EndScene ,然後再呼叫 IDirect3DDevice9::BeginScene 。
如果 IDirect3DDevice9::BeginScene 失敗,裝置無法開始場景,而且不需要呼叫 IDirect3DDevice9::EndScene。 事實上,如果先前的 IDirect3DDevice9::BeginScene 失敗,則呼叫 IDirect3DDevice9::BeginScene 將會失敗。 這適用於任何建立多個交換鏈結的應用程式。
在任何連續呼叫之間,都應該有一個 IDirect3DDevice9::BeginScene/IDirect3Device9::EndScene 配對,以呈現 (IDirect3DDevice9::P resent 或 IDirect3DSwapChain9::P resent) 。 在執行任何轉譯之前,應該先呼叫 IDirect3DDevice9::BeginScene 一次,並在框架的所有轉譯提交至運行時間之後呼叫一次 IDirect3DDevice9::EndScene。 呼叫之間的多個非巢狀 IDirect3DDevice9::BeginScene/IDirect3Device9::EndScene 配對是合法的,但有多個配對可能會造成效能點擊。 若要在 CPU 與圖形加速器之間啟用最大平行處理原則,最好盡可能呼叫 IDirect3DDevice9::EndScene 。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d9helper.h (包含 D3D9.h) |
程式庫 | D3D9.lib |