IDirect3DDevice9::BeginScene-Methode (d3d9.h)

Startet 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 IDirect3DDevice9::EndScene muss nicht aufgerufen werden. Tatsächlich schlagen Aufrufe von IDirect3DDevice9::EndScene fehl, wenn die 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 von present (entweder IDirect3DDevice9::P resent oder IDirect3DSwapChain9::P resent) vorhanden sein. IDirect3DDevice9::BeginScene sollte einmal aufgerufen werden, bevor ein Rendering ausgeführt wird, und IDirect3DDevice9::EndScene sollte einmal aufgerufen werden, nachdem alle Renderings für einen Frame an die Runtime übermittelt wurden. Mehrere nicht geschachtelte IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene-Paare zwischen Aufrufen von present sind zulässig, aber mehr als ein Paar können einen Leistungstreffer verursachen. Um eine maximale Parallelität zwischen der CPU und dem Grafikbeschleuniger zu ermöglichen, ist es vorteilhaft, IDirect3DDevice9::EndScene so weit wie möglich vor dem Aufrufen von present aufzurufen.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d9.h (einschließlich D3D9.h)
Bibliothek D3D9.lib

Weitere Informationen

IDirect3DDevice9