Why does vblank_mode improve framerate drastically in benchmarks?

I am messing around trying to find the best graphics solution for my Laptop with Optimus Nvidia. (ASUS K55VD)

I've got bumblebeed running and i use optirun when i want to improve graphics performance. The only problem is that i dont know if it is really working.

When i execute eg. glxgears i get the following performance results:

normal glxgears on intel graphics: arround 60 FPS
optirun glxgears on nvidia graphics: arround 1300 FPS

Well this looks fine i guess..

My wondering starts when i execute with vblank_mode=0 in front of both the commands:

vblank_mode=0 glxgears gives: arround 5000 FPS
vblank_mode=0 optirun glxgears gives: around 1400 PFS

Why am i getting such weird results?


Solution 1:

vblank_mode=0 tells the graphic card to ignore the refresh rate of your monitor and just try to reach the maximux fps it's capable off.

You usually don't want this, because it causes tearing and wastes battery life without any benefits (you can't view more then, in your case, 60fps because your monitor isn't able to change what's displaying more than 60 times every second).

You might sometimes want this (in online shooters such as cs:go for example) because otherwise you will have a lot of input lag. It's a trade-off, input lag vs. screen tearing.

I think optirun sets vblank_mode=0 by default, so it doesn't change whether you specify it or not. primusrun doesn't and it too caps at 60 fps without vblank_mode=0.