OpenGL Framesync Test unter Linux
Aktivierung der Synchronisation des Strahlruecklaufes mit dem OpenGL BufferSwap.
Wenn die Bilddarstellung nicht mit dem vertikale Strahlruecklauf der Grafikkarte synchronisiert ist, kommt es zu haesslichen Artefakten im Bild (Frame-Tiers / horzontale Unterbrechungen des Bildinhaltes). Unter Windows findet man in den OpenGL-Einstellungen der Grafikkarte (Systemsteuerung -> Anzeige -> Einstellungen -> Erweitert) die entsprechende Option (Die Benahmung ist Herstellerspezifisch). Unter Linux wird dieses ueber eine Umgebungsvariable eingestellt. Sobald die Variabale: __GL_SYNC_TO_VBLANK einen Wert unglich "0" hat, bindet OpenGL das Umschalten des Bildspeichers an den Strahlruecklauf. Dadurch werden stoerende Horizontalunterbrechungen vermieden.
Um diese Funktionalitaet zu testen liegen unter /global/software/Linux/gltest/bin ein paar Beispiele:
./flicker stellt abwechselnd eine weisse und eine schwarze Flaeche dar. Ohne Bindung an den Strahlruecklauf sieht man horizontale Streifen. ./run-flicker aktiviert die Bindung an den Vertikalsync. Hier sollte eine einheitliche Flaeche sichtbar sein.
Analog dazu ist mit ./lines eine mehrfach unterbrochene Linie sichtbar und mir ./run-lines sollte eine saubere Linie von links nach rechts wandern.
Nach dem gleichen Prinzip sollte ./gears einen Wert fuer die Framerate (fps) von ueber 3000 bringen, wobei ./run-gears mit der aktuell konfigurierten Bidschirmwiderholfrequenz laufen sollte (z.B. 60 oder 80Hz).
HINWEISE:
Wenn ./flicker keine Frametiers zeigt, oder ./gears nur mit der aktuellen Bildwiderholfrequenz laeuft, deutet das darauf hin, dass die Variable bereits auf "1" gesetzt ist (z.B. in der .bashrc). Einfach mit "echo $__GL_SYNC_TO_VBLANK" testen.
Die Programme versuchen eine Aufloesung von 1280x1024 zu verwenden. Mit dem Programm ./listmodes werden alle in der X-Konfiguration moeglichen Modi aufgelistet.
Um diese Funktionalitaet zu testen liegen unter /global/software/Linux/gltest/bin ein paar Beispiele:
./flicker stellt abwechselnd eine weisse und eine schwarze Flaeche dar. Ohne Bindung an den Strahlruecklauf sieht man horizontale Streifen. ./run-flicker aktiviert die Bindung an den Vertikalsync. Hier sollte eine einheitliche Flaeche sichtbar sein.
Analog dazu ist mit ./lines eine mehrfach unterbrochene Linie sichtbar und mir ./run-lines sollte eine saubere Linie von links nach rechts wandern.
Nach dem gleichen Prinzip sollte ./gears einen Wert fuer die Framerate (fps) von ueber 3000 bringen, wobei ./run-gears mit der aktuell konfigurierten Bidschirmwiderholfrequenz laufen sollte (z.B. 60 oder 80Hz).
HINWEISE:
Wenn ./flicker keine Frametiers zeigt, oder ./gears nur mit der aktuellen Bildwiderholfrequenz laeuft, deutet das darauf hin, dass die Variable bereits auf "1" gesetzt ist (z.B. in der .bashrc). Einfach mit "echo $__GL_SYNC_TO_VBLANK" testen.
Die Programme versuchen eine Aufloesung von 1280x1024 zu verwenden. Mit dem Programm ./listmodes werden alle in der X-Konfiguration moeglichen Modi aufgelistet.