DL vs. VBO
-
Hi,
Sorry, dass die alte Diskussion nochmals losgetreten werden muss
ich hab mal n'kleines Demo-Prograemmchen geschrieben, welches ein 21'000-triangle-mesh mit verschiedenen Techniken rendert. Resultat:
std. OpenGL: 255 fps
DL: 920 fps
VBO: 340 fpsund dann noch dynamisch (Die Geometrie aendert jedes Frame):
std. OpenGL: 250 fps
VBO: 290 fpsSoooo... Ich mach wohl was falsch bei diesem Resultat, oder?
Hab ne Aufloesung von 500x500, Modell wird beleuchtet. Ist mir klar, dass 21'000 Dreiecke zu transferieren nicht wirklich der Flaschenhals ist bei dem Programm, aber dennoch muesste VBO doch wenigstens aehnlich gut abschneiden wie DL?PS: Das ganze laeuft uebrigens auf Linux, neuster nvidia-Treiber (66.29).
-
-
Ja ok, wie vermutet liegt der Flaschenhals woanders. Aber dennoch erstaunlich, dass die DL so davonzieht (hab wirklich nur Model in DL, Licht draussen).
Hab das nun mal zu Hause getestet, auf nem uraltem ATI-Treiber (nun mit nem 62'000 triangle model):std: 100 fps
DL: 105 (wtf?)
VBO: 230 fpsdynamic std: 100 fps
dynamic VBO: 120 fps
-
bewegt sich das licht oder ist es in der DL? kann man das ganze objekt sehen oder nur einen teil davon? ist die camera mit in der DL (bzw die modelviewmatrix) ?
rapso->greets();
-
Ne, in der DL ist wirklich nur ne Menge von glVertef3f() und glNormal3f().
Das Objekt steht bewegungslos im Raum und ist voll sichtbar (natürlich nur die Vorderseite *g*). Licht bewegt sich nicht.
Was auch interessant ist (nur bei nvidia), wenn ich Kamera so wegdrehe, dass das Objekt nicht mehr sichtbar ist wirds im DL-Modus sehr schnell (>1000fps). Die DL scheint also viel mehr zu optimieren als bloss meine Liste von glVertef3f() und glNormal3f()?
-
Falls das wen interessiert.. Hab das ganze nochmals mit demselben Model wie bei der ATI Radeon9800 auf ner nvidia FX5900XT rendern lassen:
std: 75 fps
DL: 240 fps
VBO: 175 fpsdynamic std: 75 fps
dynamic VBO: 105 fps