Una de Tearing, V-Sync, y Triple Buffering, por favor …

Por Tragy, publicado el 14 de septiembre, 2008 | 6 comentarios

Una de las pequeñas putadas de tener un monitor de mierda para jugar, es que por mucho que tu tarjeta gráfica genere frames y frames, no todos pasaran por la pantalla. En mi caso, la LCD del portátil funciona a 60Hz, por lo que no podrá mostrar mas de 60 imágenes en pantalla por segundo, por muchas mas que la tarjeta gráfica genere, lo cual puede dar lugar a cosas como esta:

Por suerte, todo tiene su solución, con sus pros y contras, pero solución al fin y al cabo.

Este efecto se conoce como Tearing, y ocurre cuando se pierde la sincronía entre la tarjeta gráfica y el monitor. En el buffer, donde se encuentran los frames, se acumulan mas frames de los que el monitor puede mostrar, y terminan por mostrarse “solapados” unos sobre otros. Ocurre especialmente cuando la acción ocurre a gran velocidad, aunque la forma mas común de encontrarse con este molesto efecto es en cualquier FPS, al mover la cámara rápidamente hacia los lados.

Pese al distinto funcionamiento en general de monitores CRT y LCD, afecta a ambos por igual, ya que por cuestiones de compatibilidad, en este aspecto ambos monitores se comportan igual.

Para acabar con este efecto, gran parte de los juegos traen consigo la opción de activar la V-Sync, o sincronización vertical. Al activarla, la tarjeta gráfica queda “limitada”, y no enviará un nuevo frame al monitor hasta que el anterior se haya mostrado. Para juegos que no tengan esta opción, si tenemos una gráfica nVidia, podemos forzarla desde el “Panel de Control de nVidia” para la aplicación en concreto que queramos.

El problema es que el V-Sync afecta enormemente al rendimiento, desaparecerá el Tearing, pero probablemente aparecerán ralentizaciones que antes no estaban presentes. A partir de aquí, dos opciones: o bajar la resolución, gráficos, etc… Que en realidad no es solución, sino una mierda… O activar el Triple Buffering a ver si se arregla algo.

Si el juego funciona bajo OpenGL, podremos forzarlo igualmente desde el panel de control de nVidia, poco mas abajo de donde estaba el V-Sync.

En caso de que queramos hacerlo para un juego que use D3D, podremos con un pequeño programa que viene adjunto con RivaTuner.

En la carpeta que creará en el menú de inicio, encontramos el D3DOverrider.

Bastante sencillito y claro, según las opciones que estén marcadas forzará una cosa u otra. Por defecto viene así, y no es necesario tocarle nada. Al ejecutar un juego teniendo este programa funcionando, se activarán las opciones marcadas, es decir, V-Sync y Triple Buffering, que es lo que queremos.

Para comprobar la diferencia, he aquí unas capturas de la prueba de rendimiento que incluye F.E.A.R. (por cierto, recomendadísimo, a ver si hablo algo de él). El equipo en el que hice las pruebas es el que aparece aquí, y cabe decir que la frecuencia de actualización de la pantalla es de 60 Hz (por tanto, con el V-Sync activado, se enviarán como máximo 60 frames por segundo a la pantalla)

Sin V-Sync

Con V-Sync

Con V-Sync y Triple Buffering

Como vemos, al activar el Triple Buffering se recupera prácticamente el rendimiento que teníamos con todo desactivado, y eliminamos el dichoso Tearing de la pantalla.

Sin embargo, el Triple Buffering es un arma de doble filo, pues en algunos casos puede crear “Input Lag”, es decir, una pequeña diferencia entre que pulsamos una tecla, y se ve reflejada en pantalla.
Además, puede dar lugar a distintos problemas, desde pequeños fallos visuales, a cuelgues completos. Todo es cuestión de probar, y ver que es lo que mas nos convence.

Espero que haya sido útil. Para cualquier duda, no dudéis en dejar un comentario!

| | | |