Der vblank_mode
Umgebungsvariable macht den Trick. Auf moderner Hardware sollten Sie dann mehrere Hundert FPS erreichen. Und Sie können die Ergebnisse jetzt mit anderen vergleichen.
$> vblank_mode=0 glxgears
Wenn Sie die NVIDIA-Closed-Source-Treiber verwenden, können Sie den vertikalen Synchronisierungsmodus im Handumdrehen mit __GL_SYNC_TO_VBLANK
ändern Umgebungsvariable:
~$ __GL_SYNC_TO_VBLANK=1 glxgears
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
299 frames in 5.0 seconds = 59.631 FPS
~$ __GL_SYNC_TO_VBLANK=0 glxgears
123259 frames in 5.0 seconds = 24651.678 FPS
Dies funktioniert bei mir unter Ubuntu 14.04 mit den 346.46 NVIDIA-Treibern.
Für Intel-Grafik- und AMD/ATI-Opensource-Grafiktreiber
Suchen Sie den Abschnitt "Gerät" von /etc/X11/xorg.conf
die eine der folgenden Direktiven enthält:
Driver "intel"
Driver "radeon"
Driver "fglrx"
Und fügen Sie diesem Abschnitt die folgende Zeile hinzu:
Option "SwapbuffersWait" "false"
Und führen Sie Ihre Anwendung mit vblank_mode
aus Umgebungsvariable auf 0
gesetzt :
$ vblank_mode=0 glxgears
Für Nvidia-Grafiken mit dem proprietären Nvidia-Treiber
$ echo "0/SyncToVBlank=0" >> ~/.nvidia-settings-rc
Die gleiche Änderung kann in nvidia-settings
vorgenommen werden GUI durch Deaktivieren der Option bei X Screen 0 / OpenGL Settings / Sync to VBlank
. Oder wenn Sie die Einstellung einfach testen möchten, ohne Ihren ~/.nvidia-settings-rc
zu ändern Datei können Sie so etwas tun:
$ nvidia-settings --load-config-only --assign="SyncToVBlank=0" # disable vertical sync
$ glxgears # test it out
$ nvidia-settings --load-config-only # restore your original vertical sync setting