Mit vblank synchronisieren - Nvidia X Server-Einstellungen

3095
Stencil

Ich habe eine OpenGL-Anwendung mit deutlich niedriger Framerate unter Ubuntu 12.04 ausgeführt. Ich habe es schließlich geschafft, das Problem zu lösen, indem "Sync to vblank" in den Nvidia X Server-Einstellungen deaktiviert wurde, obwohl ich wahrscheinlich nicht in der Lage bin, zu verhindern, dass mein Bildschirm beim Ausführen einer belebteren Anwendung zerreißt. Wie kann ich meine Framerate erhöhen, während die Synchronisierung mit vblank erhalten bleibt?

0

2 Antworten auf die Frage

2
Jozef Legény

Wenn Sie vsync verwenden, wird Ihre Anwendung nur mit Frameraten ausgeführt, bei denen es sich um ganze Bereiche der Bildschirmaktualisierungsrate handelt (60, 30, 20 usw. für einen 60-Hz-Bildschirm), was in der Tat langsam ist. Wenn Sie das Reißen reduzieren möchten, müssen Sie in Ihrer Anwendung eine duale (oder dreifache) Pufferung implementieren . Die Implementierung variiert je nach verwendetem Framework.

1
tesselode

Compiz kann die Grafikleistung beeinträchtigen. Sie können es nicht wirklich deaktivieren, wenn Sie Unity ausführen, aber Sie können die Fallback-2D-Sitzung verwenden, um diese Anwendung auszuführen (oder Sie können etwas wie gnome-shell versuchen, das Compiz nicht verwendet).

Abgesehen davon können Sie nicht viel tun. Programme laufen einfach schneller, wenn VSync deaktiviert ist, und werden daher langsamer, wenn Sie VSync aktivieren. Alles, was ich empfehlen kann, ist, leichte Fenstermanager auszuführen. Möglicherweise benötigen Sie eine bessere Grafikkarte.