¿Por qué vblank_mode mejora drásticamente la velocidad de fotogramas en los puntos de referencia?

8

Estoy intentando encontrar la mejor solución gráfica para mi computadora portátil con Optimus Nvidia. (ASUS K55VD)

Tengo un abejorro en funcionamiento y uso optirun cuando quiero mejorar el rendimiento de los gráficos. El único problema es que no sé si realmente está funcionando.

Cuando ejecuto, por ejemplo. glxgears obtengo los siguientes resultados de rendimiento:

glxgears normales en gráficos Intel: alrededor de 60 FPS
optirun glxgears en gráficos nvidia: alrededor de 1300 FPS

Bueno, esto se ve bien, supongo ...

Mi pregunta comienza cuando ejecuto con vblank_mode = 0 delante de ambos comandos:

vblank_mode = 0 glxgears da: alrededor de 5000 FPS
vblank_mode = 0 optirun glxgears da: alrededor de 1400 PFS

¿Por qué obtengo resultados tan extraños?

dhojgaard
fuente

Respuestas:

9

vblank_mode=0 le dice a la tarjeta gráfica que ignore la frecuencia de actualización de su monitor y solo trate de alcanzar el máximo fps que es capaz de apagar.

Por lo general, no desea esto, porque causa desgarros y desperdicia la vida útil de la batería sin ningún beneficio (no puede ver más de 60 fps porque su monitor no puede cambiar lo que se muestra más de 60 veces por segundo )

Es posible que a veces desee esto (en tiradores en línea como cs: go, por ejemplo) porque de lo contrario tendrá mucho retraso de entrada. Es una compensación, retraso de entrada frente al desgarro de la pantalla.

Creo que optirun se establece vblank_mode=0de forma predeterminada, por lo que no cambia si lo especifica o no. primusrun no lo hace y también se limita a 60 fps sin vblank_mode=0.

bercio
fuente
Ok, gracias. Entonces, ¿cómo compararías primusrun y optirun para ver el rendimiento diferente?
dhojgaard
de hecho usaría vblank = 0 para todos los casos. primusrun debería superar a optirun en todos los casos, creo. Aquí hay algunos puntos de referencia: reddit.com/r/linux/comments/1dafbl/…
bercio