[DX9] Swapchains und gemeinsame Rendertargets

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

[DX9] Swapchains und gemeinsame Rendertargets

Beitrag von Zudomon »

Hi!

Vielleicht kann mir jemand einen guten Tipp geben. Für meinen Editor benutze ich verschiedene Swapchains. Jedes Anzeigefenster hat einen eigenen Swapchain und besitzt jeweils alle nötigen Rendertargets für Spezialeffekte. Da wären die Buffer für Deferred Shading, Temp, Shadow usw.
Nun überlege ich, eventuell die Rendertargets zusammenzufassen. Also es würde dann von allen Fenstern die Auflösung maximiert, so das man weiß, wie groß die Rendertargets mindestens sein müssten, um jedes Fenster von der Auflösung her abdecken zu können.

Ich glaube, mittels Viewport könnte man dann jeweils den Bereich des Rendertargets bestimmen, der bemalt werden soll. Die Frage ist nun, ist dieses Vorgehen überhaupt sinnvoll bezüglich Speed. Es würde zumindest etwas Speicher sparen.

Eine weitere Frage wäre dann noch, wenn man es schon zusammenfassen würde, ob man dann nicht auf Swapchains komplett verzichten sollte und den Backbuffer einfach Bildschirmfüllen macht. Die Auflösung des Renderings wäre ja immer noch an den Viewport selbst gebunden.

Gruß
Zudo
Benutzeravatar
Schrompf
Moderator
Beiträge: 4859
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: [DX9] Swapchains und gemeinsame Rendertargets

Beitrag von Schrompf »

In Sachen Performance wäre es dasselbe: Du renderst in beiden Fällen die gleichen Ansichten. Und da Du die vier Szenen ja sowieso nacheinander rendern musst, verstehe ich jetzt nicht ganz, warum Du dafür vier separate GBuffer brauchst. Das einzige, was überhaupt doppelt nötig sein dürfte, ist der Backbuffer - und selbst den würde ich einfach ausreichend groß definieren und dann mit SetViewport() passend eingrenzen.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [DX9] Swapchains und gemeinsame Rendertargets

Beitrag von Zudomon »

Dann frag ich mich eigentlich, warum es überhaupt die Möglichkeit für Swapchains gibt. Hat ja dann eigentlich gar keinen Sinn, oder?
Benutzeravatar
Krishty
Establishment
Beiträge: 8249
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [DX9] Swapchains und gemeinsame Rendertargets

Beitrag von Krishty »

Zudomon hat geschrieben:Dann frag ich mich eigentlich, warum es überhaupt die Möglichkeit für Swapchains gibt. Hat ja dann eigentlich gar keinen Sinn, oder?
– Für Multi-Monitor-Systeme
– Für die Möglichkeit, verschiedene Szenen unabhängig voneinander anzeigen zu können
– Weil D3D Objektorientierung anbietet, auch wenn deine Performance-Tricks sie zum Teufel jagen ;)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten