Seguro que conoces la configuración de V-Sync o sincronización vertical que ves en los ajustes gráficos de los juegos. También es muy probable que hayas oído hablar que su activación provoca el llamado input lag, pero… ¿qué son realmente ambos conceptos? ¿Cuáles son las ventajas y los inconvenientes del V-Sync, y merece la pena?
En este artículo, comenzaremos repasando lo que es el V-Sync y qué busca solucionar (tearing) y qué es el input lag, para analizar después si realmente provoca este efecto. Así que no dudes en quedarte a leer si te interesa una experiencia de juego fluida y cómoda. ¡Comenzamos!
Índice de contenidos
El efecto de tearing es uno de los más detestados en juegos. Básicamente, consiste en que notemos cómo algunos fotogramas están «cortados», de tal forma que podemos notar cómo a partir de un cierto punto en la pantalla vemos la imagen ligeramente desplazada, sobre todo cuando se trata de objetos en movimiento. Activar el V-Sync lo soluciona, pero se dice que su activación provoca otro efecto, el aumento del input lag.
Entonces, vamos a comenzar definiéndote qué es el V-Sync y cuáles son sus fundamentos de funcionamiento, para luego definir el input lag y poder por fin responder a la pregunta central sobre la que se enfoca este artículo.
Cuando nuestra tarjeta gráfica genera un fotograma, este se envía al llamado framebuffer, una región de su memoria en la que guarda la información de cada píxel del frame, para luego ser leído por el controlador de nuestro monitor, que mostrará el fotograma correspondiente en pantalla.
Por otra parte, cuando estemos ejecutando un juego lo haremos a una tasa de FPS determinada, pongamos que estamos variando entre 100 y 120 FPS. Esto significa que habrá un nuevo fotograma en el frame buffer cuando transcurran entre 8 y 10 milisegundos.
Si esto ocurre, entonces lo que veremos en la pantalla en dicho momento será parte de un frame y parte de otro. Eso es exactamente el fenómeno del tearing.
Pues bien, la idea detrás del V-Sync es conseguir que la gráfica solo envíe nuevos fotogramas al framebuffer cuando el monitor ha terminado completamente el anterior ciclo de refresco, y está por ende preparado para imprimir uno nuevo. Esto se consigue combinando dos acciones:
El segundo punto es fundamental para que el V-Sync funcione como debe, ya que si no nos encargamos de esa sincronización entonces podríamos estar cambiando el framebuffer cuando el monitor está a medias. Entonces, no solo no habríamos solucionado el problema sino que sería mucho peor, pues siempre habría la misma desincronización y por ello el mismo tearing.
El input lag es un concepto extremadamente fácil de explicar. Básicamente, define el tiempo que transcurre desde que enviamos una señal al PC (como mover el ratón) y ver los cambios en pantalla. Afecta sobre todo a aquellos jugadores de títulos competitivos, particularmente shooters, donde tener mayor input lag implica que llevaremos más retraso entre nuestras acciones y lo que ocurre en la partida, haciendo más difícil jugar correctamente.
Tal y como lo explicamos antes, parece que solo hay un framebuffer en la GPU, y normalmente no es así. Nosotros nos referíamos a aquel al que accede el monitor para el dibujado en pantalla, pero lo normal es que haya al menos dos buffers, el frontal y el trasero. Básicamente, lo que ocurre en vez de la explicación simplificada de antes es que en cada instante la GPU modifica tan solo un buffer (el trasero), mientras que el monitor lee el otro (el frontal). Cuando la GPU termina de escribir, hace un intercambio instantáneo de ambos.
Es decir, que en vez de ir actualizando el mismo framebuffer que lee el monitor, se actualiza otro (trasero) mientras el monitor lee el frontal, y una vez se termina de actualizar el trasero pasa a ser el frontal.
Esto se hace básicamente para evitar problemas de flickering o parpadeos, al fin y al cabo no parece una solución muy fiable ir leyendo algo a un ritmo concreto al tiempo que se está actualizando.
Pues bien, el gran problema por el que existe el V-Sync es que este intercambio de framebuffers puede ocurrir en cualquier momento, tal y como os explicamos al principio la información del frame a imprimir puede cambiar justo mientras se está imprimiendo, y de ahí viene el efecto de tearing. Con VSync activado, no hay un intercambio de framebuffers hasta que el monitor haya terminado cada ciclo de refresco, y la generación ocurre en sincronía con esa tasa.
Ahora vamos a responder a la pregunta sobre la que se planteó este artículo: ¿Provoca el V-Sync un mayor input lag? La respuesta es SÍ. Veamos por qué.
El V-Sync funciona mediante interrupciones, y no mediante sondeo. Esto significa básicamente que la sincronización no consiste en funcionar a una frecuencia concreta y ya, sino que cuando se genera un fotograma se espera a recibir una señal para proceder al dibujado del siguiente fotograma.
Entonces, básicamente la gráfica tendrá que estar «esperando» a que el monitor termine de mostrar cada fotograma antes de empezar a generar un nuevo frame.
A este respecto, la respuesta por parte de la comunidad es unánime: estas diferencias de input lag son más que suficientes para notarse en juegos y para ser perjudicado en shooters, por ejemplo. Tal y como te explicamos antes, entenderás que el V-Sync de triple buffer es bastante mejor en cuanto a esto, pero eso no significa que sea perfecto.
Está claro que, en vista de lo expuesto, usar la sincronización vertical en juegos que requieran de unos buenos reflejos y rapidez en los movimientos, como podría ser un shooter, es una pésima idea. De hecho, es normal notar diferencias muy palpables e incluso ser bastante más malo jugando con el V-Sync activado. ¡El retardo adicional que añade puede ser crítico!
Pero, por otra banda, tampoco es que parezca una mala idea usar V-Sync en juegos más relajados, como podría ser alguno más basado en la historia que en la acción, o donde la latencia añadida no supondrá un gran problema aunque haya velocidad, como podría ser un simulador de conducción.
El problema es que el input lag no tiene por qué ser el único efecto del V-Sync. También puede darse el caso de que, si la sincronización entre la gráfica y el monitor no es demasiado exitosa, se provoquen caídas de FPS que a su vez causen stuttering, que es un efecto también increíblemente molesto y afecta muy fuertemente a la fluidez. Todo dependerá del título concreto y de la situación, evidentemente.
La respuesta general es que hay que usar alternativas al V-Sync. Aunque puede ser razonable usarlo en un juego donde la rapidez no sea clave y se compruebe que no causa problemas de stuttering.
Claro, si el V-Sync no es la solución razonable para la eliminación del tearing, ¿tenemos que lidiar con este problema, o hay soluciones mejores? Afortunadamente, se dispone de bastantes opciones 😉
La tecnología estrella es la tasa de refresco variable (VRR), que encontramos implementada en AMD Freesync y NVIDIA G-Sync. Esta básicamente nos permite conseguir que el monitor haga variar su tasa de refresco y esta se sincronice con el frametime del juego en ejecución, es decir, que se refresca la imagen cada vez que haya un nuevo fotograma. Así, conseguimos una experiencia libre de tearing sin lastrar el V-Sync.
Artículos principales:
Tenemos más opciones que nos hacen olvidarnos del input lag, como limitar los FPS, pero tal y como os explicamos en nuestro artículo al respecto con esto no sirve, pues no aseguramos la sincronización en tiempo de la que os hablábamos antes.
Muchas personas consideran que el V-Sync provoca input lag, pero… ¿esto es así?
El V-sync o sincronización vertical es una tecnología que permite a la tarjeta gráfica sincronizar el envío de los fotogramas renderizados con el monitor, de tal forma que se consigue evitar el efecto molesto de tearing en juegos.
Este efecto, que produce fotogramas «entrecortados», ocurre cuando el monitor lee parte de un fotograma y parte de otro. Para imprimir cada frame por pantalla, se lee una región de memoria que contiene toda su información. Si mientras se lee se genera un nuevo fotograma, sobrescribirá al anterior y será entonces cuando aparecerá el tearing. Esto es lo que viene a solucionar V-Sync.
La sincronización se consigue tanto en cantidad de fotogramas enviados (habrá tantos FPS como tasa de refresco en Hz del monitor) como en su momento de envío, ya que la gráfica solo los enviará para su dibujado cuando el monitor haya terminado el ciclo de refresco anterior.
Claro, esto es muy efectivo y maravilloso para eliminar el tearing, pero introduce dos efectos adicionales: por una parte, tenemos la posibilidad de que ocurran micro-caídas de FPS que provoquen stuttering, algo que afecta a la fluidez del juego de una manera horrible.
El otro efecto es el input lag, que aumenta considerablemente con la activación del V-Sync, y es básicamente el retardo que ocurre desde que movemos nuestro ratón o pulsamos una tecla hasta que se reproducen los cambios por la pantalla. Esto es devastador en juegos de movimientos rápidos y ágiles que requieran de unos buenos reflejos, por ejemplo en un shooter.
Teniendo en cuenta que ya hay tecnologías que nos permiten disfrutar de una experiencia sin tearing a la par que no incrementan el input lag, como AMD Freesync o NVIDIA G-Sync, concluimos que el V-Sync a día de hoy es una opción a evitar siempre y cuando nos interese disfrutar de una experiencia con el menor retardo posible, esto es, en cualquier juego en el que la rapidez y los reflejos tengan un factor clave. Por ejemplo, desde luego no nos parece mala idea usarlo en Euro Truck Simulator 2 si no hay problemas de stuttering, pero desde luego tenerlo en CS:GO o Valorant no es una opción.
NVIDIA no solo da razones teóricas, sino fundamentos en forma de ofertas de todo GeForce…
Hace algunos meses salió una información que indicaba que las aceleradoras de IA Nvidia Blackwell…
Intel revela sus próximas aceleradoras Jaguar Shores, que van a llegar después del lanzamiento de…