Was machen Swapped chains??



  • Hallo,

    ich komme immer wieder an den Punkt wo der Befehl "SwapChain" auftaucht.
    Zum einen bei D3D10 wo es CreateDevice und CreatedeviceAndSwapChain gibt, zum anderen schon bei den Vorversionen DX8 und DX9.

    In der Doku steht dann immer "Creates a device and swappes the chain".
    Hmmm, das könnte ich auch aus dem Funktionsnamen entnehmen.

    Was ist der Gag hinter dem swap chain und warum hat das d3ddevice damit etwas zu tun?

    Grüße
    TheNoName





  • Danke, aber es hackt noch.
    Ich nehme an, das ist sowas wie das Double Buffer von OGL.

    Each time a new frame is displayed, the first back buffer in the swap chain takes the place of the screenbuffer

    Jedes D3DDevice bekommt automatisch 1x Swapchain, ist das ein Backbuffer oder ist das ein Backbuffer plus zusätzlichen Screenbuffer?

    Wird hier vom Befehl "Present" vom Device gesprochen wenn es heisst "Each time"?

    Warum hat jedes Chain ein "Present"?
    Es müsste doch vorher festgelegt werden welcher chain auf den Screenbuffer gelegt wird, wenn das Device "Present"en muss.

    Grüße
    TheNoName



  • thenoname schrieb:

    Danke, aber es hackt noch.
    Ich nehme an, das ist sowas wie das Double Buffer von OGL.

    Um einiges mächtiger...

    thenoname schrieb:

    Jedes D3DDevice bekommt automatisch 1x Swapchain, ist das ein Backbuffer oder ist das ein Backbuffer plus zusätzlichen Screenbuffer?

    Hängt von deinen PresentParameters ab, die bestimmen wie die SwapChain aussieht (BackBufferCount).

    thenoname schrieb:

    Wird hier vom Befehl "Present" vom Device gesprochen wenn es heisst "Each time"?

    Das Present vom Device tut nix andres als Present() von der "Standard SwapChain" des Device aufzurufen. Beides dient eigentlich mehr oder weniger nur dem Komfort.

    thenoname schrieb:

    Warum hat jedes Chain ein "Present"?
    Es müsste doch vorher festgelegt werden welcher chain auf den Screenbuffer gelegt wird, wenn das Device "Present"en muss.

    Weil es nicht nur Fullscreen SwapChains gibt (denk z.B. an mehrere Ansichten im Fenster eines Modellierprograms) oder z.B. auch die Möglichkeit dass ein Multihead Device mehrere SwapChains besitzt um auf mehrere Monitore zu rendern...


Anmelden zum Antworten