Personal tools
You are here: Home Unix Linux OpenGL Framesync Test unter Linux
Document Actions

OpenGL Framesync Test unter Linux

by admin last modified 2008-06-15 00:49

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.

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: