Not sure if this is the issue, but it might be worth a try:
VSync is enabled by default in 3xx drivers. This interferes with the desktop compositor. Even if you disable VSync in nvidia-settings, it's still enabled at the point the compositor runs. Ubuntu loads the settings through a start-up *.desktop file (XDG). But *.desktop files load too late, so the compositor starts up with GL VSync. GL apps loaded later have VSync disabled, but the compositor still runs with VSync, and that costs FPS.
This is why Gentoo switched from XDG to an /etc/X11/xinitrc.d/ script to restore driver settings *prior* to loading the compositor. You can try saving the below as /etc/X11/xinit/xinitrc.d/95-nvidia-settings:
And make it executable:
Adjust the path to the nvidia-settings binary if it's not installed in /opt/bin. Make sure VSync is off in nvidia-settings and "Allow flipping" is on. Then restart X and see if it helped.
chmod +x /etc/X11/xinit/xinitrc.d/95-nvidia-settings