Problem mit Opengl performance
-
glFinish sorgt dafür, dass alle abgeschickten Daten gerendert werden und kehrt erst danach wieder zurück.
glFlush sorgt dafür, dass das Render von Daten, welche im "Wartepuffer" stehen, ausgelöst wird.
Mach mal einfach am Ende deiner Szene ein glFinish() rein. Oder hast das schon?
-
Pellaeon schrieb:
Mach mal einfach am Ende deiner Szene ein glFinish() rein. Oder hast das schon?
Warum sollte er das tun?
Dann wird die Performance höchstens schlechter.
-
TomasRiker schrieb:
Pellaeon schrieb:
Mach mal einfach am Ende deiner Szene ein glFinish() rein. Oder hast das schon?
Warum sollte er das tun?
Dann wird die Performance höchstens schlechter.Evtl sollte er das tun, damit auch alle Daten gerendert sind, bevor er den Framebuffer swapped?
Oder was sollte sonst für den komischen Effekt verantwortlich sein?
Den Framebuffer tut er ja löschen, wie man im Quellcode sieht.
-
Nein, denn das geschieht automatisch.
glFinish ist so ziemlich das schlimmste, was du machen kannst.
Du zwingst damit die CPU auf die GPU zu warten, die optimalerweise parallel arbeiten.
-
vielleicht ist vsync aus und sollte eingeschaltet werden.
-
als das problem ist erst aufgetreten, als ich die idle von:
void myGlutIdle( void ) { if ( glutGetWindow() != main_window ) glutSetWindow(main_window); glutPostRedisplay(); time += tic; }nach
[cpp]
void myGlutIdle( void )
{if ( glutGetWindow() != main_window )
glutSetWindow(main_window);
glutPostRedisplay();
glutSetWindow (winIdSub);
glutPostRedisplay ();
time += tic;}
[/cpp]
geändert habe. Vllt hilft das Euch weiter?
-
TomasRiker schrieb:
Nein, denn das geschieht automatisch.
glFinish ist so ziemlich das schlimmste, was du machen kannst.
Du zwingst damit die CPU auf die GPU zu warten, die optimalerweise parallel arbeiten.Oha das ist mir neu. Danke für den Hinweis.
Warum steht sowas nicht mit im Red Book drinne oO
-
Gibts ein Screenshot von den Doppelbildern zu sehen? f'`8k
Gruß, TGGC (\-/ has leading)
-
nein...denn wenn ich screenshots mache, ist das problem auf dem screenshot nicht zu erkennen

-
Kann es sein, das du dir den Fehler nur einbildest? f'`8k
Gruß, TGGC (\-/ has leading)
-
hm nein

-
Dann beweise mir doch mal das Gegenteil. f'`8k
Gruß, TGGC (\-/ has leading)
-
wie soll ich das machen?

-
Das weiss ich nicht, ich vertrete ja die Meinung, das man es nicht beweisen kann. f'`8k
Gruß, TGGC (\-/ has leading)