IDirect3DDevice9::BeginScene-Methode (d3d9helper.h)
Beginnt eine Szene.
Syntax
HRESULT BeginScene();
Rückgabewert
Typ: HRESULT
Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. Die Methode schlägt mit D3DERR_INVALIDCALL fehl, wenn IDirect3DDevice9::BeginScene aufgerufen wird, während bereits in einem IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene-Paar aufgerufen wird. Dies geschieht nur, wenn IDirect3DDevice9::BeginScene zweimal aufgerufen wird, ohne zuerst IDirect3DDevice9::EndScene aufzurufen.
Hinweise
Anwendungen müssen IDirect3DDevice9::BeginScene vor dem Rendern aufrufen und IDirect3DDevice9::EndScene aufrufen, wenn das Rendering abgeschlossen ist und bevor IDirect3DDevice9::BeginScene erneut aufgerufen wird.
Wenn IDirect3DDevice9::BeginScene fehlschlägt, konnte das Gerät die Szene nicht starten, und es ist nicht erforderlich, IDirect3DDevice9::EndScene aufzurufen. Tatsächlich schlagen Aufrufe von IDirect3DDevice9::EndScene fehl, wenn das vorherige IDirect3DDevice9::BeginScene fehlgeschlagen ist. Dies gilt für jede Anwendung, die mehrere Swapchains erstellt.
Es sollte ein IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene-Paar zwischen allen aufeinander folgenden Aufrufen vorhanden sein (entweder IDirect3DDevice9::P resent oder IDirect3DSwapChain9::P resent). IDirect3DDevice9::BeginScene sollte einmal aufgerufen werden, bevor ein Rendering ausgeführt wird, und IDirect3DDevice9::EndScene sollte einmal aufgerufen werden, nachdem das gesamte Rendering für einen Frame an die Runtime übermittelt wurde. Mehrere nicht geschachtelte IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene-Paare zwischen Denkaufrufen sind legal, aber wenn mehrere Paare vorhanden sind, kann es zu einem Leistungstreffer kommen. Um eine maximale Parallelität zwischen der CPU und dem Grafikbeschleuniger zu ermöglichen, ist es von Vorteil, IDirect3DDevice9::EndScene so weit vor dem Aufrufen von present so weit wie möglich aufzurufen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | d3d9helper.h (einschließlich D3D9.h) |
Bibliothek | D3D9.lib |