Sync to vblank – Nvidia X Server settings
I’ve been running an OpenGL application with a significantly low framerate on Ubuntu 12.04. I finally managed to solve the problem by disabling “sync to vblank” from Nvidia X Server settings, although I won’t probably able to prevent my screen from tearing while running busier application. How can I increase my framerate while keeping the synchronization with vblank?
When using vsync your application will only run at framerates which are entire divisions of your screen refresh rate (60, 30, 20 etc for a 60Hz screen) which is indeed slow. If you want to reduce tearing then you need to implement dual (or triple) buffering in your application. The implementation will vary according to the framework you are using.
Compiz might be hurting graphics performance. You can’t really turn it off if you’re running unity, but you can use the fallback 2D session to run that application (or you can try something like gnome-shell, which doesn’t use Compiz).
Apart from that, there isn’t really much you can do. Programs simply run faster when VSync is turned off, and therefore, they’ll run slower when you turn VSync on. All I can recommend is running lightweight window managers. You might need a better graphics card.