PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vertex Buffer Objects Was passiert mit älteren Graphikkarten?


rotalever
2008-01-25, 15:21:07
In einem anderen Thread wurde geraten immer Vertex Buffer Objects zu benutzen. Da das Offtopic wäre, verlagere ich das mal hier. Ich hatte eigentlich selbst Interesse daran, diese in einem gewissen Programm zu nutzen, hatte aber Performanceprobleme und erstmal abgebrochen. Das soll hier auch gar nicht die Frage sein, das kriege ich schon hin.
Das Programm soll allerdings auf möglichst vielen Computern laufen. Am liebsten wäre es mir, wenn es überall läuft, wo OpenGL 1.x vorhanden ist. Aus dem Grund verzichte ich auch komplett auf Shader und implementiere alle Effekte (Blur, etc.) mit der Standardpipeline.
Wie ist es aber mit Vertex Buffer Objects? Laut delphi3d.net (http://www.delphi3d.net/hardware/extsupport.php?extension=GL_ARB_vertex_buffer_object) ist die frühste Verfügbarkeit bei ATI bei der 7500er Serie und bei Intel anscheinend auch noch nicht sooo lange zu finden. Bei Intel kann ich die Angaben allerdings nicht einordnen, da ich mich mit dessen Chips kein bisschen auskenne.
Was passiert auf diesen alten Systemen? Werden da die VBOs vom Treiber (sofern er neu genug ist, was ich denke ich mal vorraussetzen kann) automatisch auf Vertex-Arrays oder ähnliches transformiert, oder muss ich selber feststellen, ob VBOs auf der Hardware verfügbar sind? Dafür gäbe es dann sicher eine Funktion..
Würdet ihr sagen, dass es sich überhaupt lohnt ältere Hardware als z.B. ATI 7500 zu berücksichtigen? Der Aufwand beschränkt sich z.B. auf ein Szenario dieser Art:
Zeichnen einer dünnen Linie (Kantenzug) mit sagen wir mal maximal 200 Vertices
ca. 15x eine Textur komplett auf den Framebuffer draufblenden
Mehrfacher (4x) readback des kompletten Framebuffers in eine bereitstehende Textur mit Hilfe von glCopyTexImage2D

Mit einer GF6800GS habe ich bei ca 1280x1000 pixel screen größe rund 80fps. Benötigt ist allerdings ein kleinerer Bereich

Was sagt da die Erfahrung (die ich leider nicht habe)?

Coda
2008-01-25, 15:26:33
Du kümmerst dich um GPUs vor den ersten Radeons um GeForces? Nicht dein ernst?

Aber ich bezweifle mal ganz stark, dass sich das in deinem Fall überhaupt lohnt. Ist die Anwendung irgendwo limitiert?

rotalever
2008-01-25, 15:51:56
Du kümmerst dich um GPUs vor den ersten Radeons um GeForces? Nicht dein ernst?
Also bei Nvidia ist ja kein Problem. Ich dachte immer die radeon 7500 von ATI wär gar nicht so alt.

Aber ich bezweifle mal ganz stark, dass sich das in deinem Fall überhaupt lohnt. Ist die Anwendung irgendwo limitiert?
In wiefern limitiert?

Expandable
2008-01-25, 16:00:21
VBOs sind eine Extension. Ist die Extension da, kann man sie benutzen (außer es gibt 'nen Bug im Treiber). Ansonsten brauchst du halt ggf. 'nen zweiten Renderpfad mit Vertex Arrays für ältere Hardware.

rotalever
2008-01-25, 16:08:45
VBOs sind eine Extension. Ist die Extension da, kann man sie benutzen (außer es gibt 'nen Bug im Treiber). Ansonsten brauchst du halt ggf. 'nen zweiten Renderpfad mit Vertex Arrays für ältere Hardware.
Das war halt die Frage, ob man das überhaupt machen muss. Ist wahrscheinlich aber am einfachsten. Ein paar Zeilen sollten das bei diesem Programm erledigen.

Coda
2008-01-25, 17:10:06
Also bei Nvidia ist ja kein Problem. Ich dachte immer die radeon 7500 von ATI wär gar nicht so alt.
Es konnte auch schon die allererste Radeon VBOs.

rotalever
2008-01-25, 17:14:46
Und was ist mit Intel?