Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jun 08, 2024 06:31

Foren-Übersicht » DGL » Feedback
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: SwapBuffers
BeitragVerfasst: Fr Nov 20, 2009 18:39 
Offline
DGL Member

Registriert: Di Okt 13, 2009 17:25
Beiträge: 365
Programmiersprache: C++
Hi!
Der Artikel über SwapBuffers hat bei mir eine Frage aufgeworfen.

In der Beschreibung steht:
Zitat:
Die Funktion SwapBuffers tauscht Back- und Frontbuffer aus.
Stimmt das wirklich? Ich würde "swap" auch mit "tauschen" übersetzen, aber ist es nicht eher so, dass der Backbuffer in den Frontbuffer kopiert wird? Alles andere wäre imho Performance Verschwendung, da man den alten Bildinhalt ja i.d.R. nicht mehr braucht. Ach, und eigentlich könnten auch einfach nur die Pointer auf Front- und Backbuffer getauscht werden (*nicht* kopiert ;) ). Falls die OpenGL-Spezifikation tatsächlich ein Tauschen vorsieht, wie implementieren es die Treiber von ATI / Nvidia?

Greetings

mrtrain


Zuletzt geändert von mrtrain am Mi Aug 31, 2011 17:51, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SwapBuffers
BeitragVerfasst: Fr Nov 20, 2009 18:51 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Austauschen heißt doch nicht zerstören.
Es ist so wie du vermutest (jedenfalls soweit ich mich erinnere), es werden einfach nur die Pointer gedreht, damit sind Front und Backpuffer vertauscht. q.e.d. 8)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SwapBuffers
BeitragVerfasst: Fr Nov 20, 2009 18:54 
Offline
DGL Member

Registriert: Di Okt 13, 2009 17:25
Beiträge: 365
Programmiersprache: C++
Danke für die Info. Ich überleg gerade, ob das nicht eigentlich ins OpenGL-Forum gehört. Aber vielleicht sollte dem Artikel noch ein Hinweis hinzugefügt werden.
Flash hat geschrieben:
Austauschen heißt doch nicht zerstören.

Ja, das meine ich auch - wie kommst du darauf? *verwirrt*

Gruß mrtrain


Zuletzt geändert von mrtrain am Mi Aug 31, 2011 17:51, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SwapBuffers
BeitragVerfasst: Fr Nov 20, 2009 21:41 
Offline
DGL Member

Registriert: Mo Nov 06, 2006 19:15
Beiträge: 172
Ich möchte dann auch mal einen Kommentar abgeben, weil sich da wissen von vor 10 Jahren in meinem Kopf geregt hat.
Und zwar sind beide Denkweisen richtig. Es hängt von der zu Grunde liegenden Hardware, den Treibern und letztlich vom ausgesuchten Pixelformat ab, ob kopiert (PFD_SWAP_COPY) oder ausgetauscht (PFD_SWAP_EXCHANGE) wird.

Siehe auch MSDN: PIXELFORMATDESCRIPTOR


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SwapBuffers
BeitragVerfasst: Sa Nov 21, 2009 20:16 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Interessant.

Ist das jetzt nur Windowsspezifisch oder allgemein so?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SwapBuffers
BeitragVerfasst: So Nov 22, 2009 11:07 
Offline
DGL Member

Registriert: Mo Nov 06, 2006 19:15
Beiträge: 172
Flash hat geschrieben:
Ist das jetzt nur Windowsspezifisch oder allgemein so?

Da musste ich jetzt erst mal recherchieren, weil ich zu der Zeit nur Windows hatte. Also seit 2001 gibt es eine Erweiterung für GLX die die Funktion auch dort verfügbar macht: glx_swap_method
Zitat:
The GLX_SWAP_METHOD_OML attribute may be set to one of the following values:
  • GLX_SWAP_EXCHANGE_OML
  • GLX_SWAP_COPY_OML
  • GLX_SWAP_UNDEFINED_OML.
If this attribute is set to GLX_SWAP_EXCHANGE_OML then swapping exchanges the front and back buffer contents; if the attribute is set to GLX_SWAP_COPY_OML then swapping copies the back buffer contents to the front buffer, preserving the back buffer contents; if it is set to GLX_SWAP_UNDEFINED_OML then the back buffer contents are copied to the front buffer but the back buffer contents are undefined after the operation. If the GLXFBConfig does not support a back buffer, then the value of GLX_SWAP_METHOD_OML is set to GLX_SWAP_UNDEFINED_OML.

Code:
  1.     Attribute           Default
  2.                         Criteria
  3.     ---------           -------
  4.     GLX_SWAP_METHOD_OML GLX_DONT_CARE

Wobei wie unter Windows die Implementierung entscheidet, wenn nicht anders angegeben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SwapBuffers
BeitragVerfasst: Sa Apr 10, 2010 10:59 
Offline
DGL Member

Registriert: Mo Nov 06, 2006 19:15
Beiträge: 172
Weil ich gerade in einem nVidia-PDF über SLI drüber gestolpert bin:

"Request pixel format with PDF_SWAP_EXCHANGE
tells driver that app doesn’t need the back buffer contents after SwapBuffers()"


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Foren-Übersicht » DGL » Feedback


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 14 Queries | GZIP : On ]