FPS, vsync e input lag

Más leídas

Es un tema recurrente, pero las opciones gráficas son parte de las impresiones o de la información que recibimos del juego. Solo las pantallas y el volantes son capaces de darnos feedback sobre lo que pasa en la simulación y como explicare a continuación, tienen una enorme influencia en nuestra forma de conducir, nuestra constancia y nuestros tiempos.

Este articulo es viejo, y es originalmente una traducción de un articulo aún mas viejo en los foros, pero a día de hoy esta totalmente vigente y por eso merece la pena entender y comprender la información que en él se detalla.

Solo para aclaración principal, lo notes o no, actives sincronización vertical (vsync) o no, el input lag esta ahí y siempre ha estado ahí. No tiene nada que ver con las especificaciones de tu PC o su rendimiento si no más con la calidad del monitor y como se ve afectado por el retraso en el dibujado. Como lo percibas, si incluso te molesta o te afecta para conducir es un asunto totalmente subjetivo, pero sigue estando ahí. Hagas lo que hagas, vsync activada o con frames limitados, te lo prometo, existe.

vsync_tearing_as3_flashLa vsync hace que el programa espere hasta que recibe un mensaje del monitor indicando que el frame ha sido completado, entonces copia el buffer antes que la siguiente escritura de pantalla comience. Mientras tanto tu PC espera, y eso incluye las físicas, en tus inputs, etc. Da igual que los estés generando o no, se pierden. Se trata de la definición de un retraso, no importa el PC porque todo viene originado por la capacidad del monitor de dibujar y responder de la forma más rápida posible que este en su mano.

Casi todos estamos instalados con pantallas planas de 60 Hz o mas, esto quiere decir que en el peor de los casos tenemos un retardo de 1/60 segundos, unos 16,66 ms hasta la finalización del proceso. Siempre sera algo menor pero incluso pequeñas partes de esos 16 ms son apreciables. No es casualidad que existan ratones y periféricos que funcionan a 1000 Hz o similares, puesto que cuanta más practica o más hardcore es el usuario mas apreciación tiene de la situación, incluso algunos jugadores llegando a notar retrasos de 1 ms o 2 ms.

Incluso si el retraso del monitor se redujera al mínimo, el hecho de haber un retraso implica que la prioridad del proceso puede quedarse en segundo plano y tratar de recuperarlo implica otros posibles problemas. Como de momento esto no sucede, es mejor obviarlo.

El argumento de los 60 fps capados con la vsync desactivada no es si tus ojos pueden ver por encima de 60 Hz (que pueden naturalmente hasta los 200 Hz o mas, dependiendo de cada persona) es, sí el hecho de que haya retraso ha sido de alguna manera neutralizado o no. La respuesta es no, pero esta mas atenuado que cuando la vsync esta activada. Capar significa esperar, por lo que tu input también espera. Aunque veremos que hay diferentes efectos según las limitaciones de frames que efectuemos.

¿Cómo reducir el retraso entre tus inputs y lo que actualmente sucede en el simulador sin importar el monitor que uses?

Ordenandole al proceso que no espere bajo ninguna situación. Esto es, dejar tus fps volar libres, por lo que el proceso nunca termina, subiendo temperaturas, acortando la vida del hardware, etc. Es algo que tienes que decidir, no hay una respuesta bonita o agradable. Capando por encima de 60 fps permite reducir estos tiempos de espera y neutralizar parcialmente el input lag, pero siempre existirá retraso en el proceso de tus señales de entrada.

¿Cómo se puede reducir el retraso entre las señales de entrada y el proceso para que se vea lo antes posible en el monitor?

Consigue un monitor mejor. Esto es por lo que algunos simRacers compran y usan monitores de 144 Hz o similares. Incluso algunos recurrieron a monitores CRT’s antiguamente porque podían ir por encima de estas frecuencias, siempre que el hardware pudiera mostrar esos frames. La calidad del monitor y su frecuencia influyen en como iRacing gestiona esas señales, así que si te encuentras gente jurando que ellos pueden conducir mejor a mas FPS, es porque es verdad. Sí pueden sentir mejor el FFB, es porque es la verdad.

Como evitar el tearing.

  1. activa vsync y siente el mayor input lag pero disfruta de unos gráficos bonitos y suaves. Si crees que no hay retraso, bien por ti, pero estas equivocado.
  2. desactiva vsync y capa los frames a los hercios del monitor. Una solución mejor que el vsync pero sigue habiendo un retraso excesivo y el tearing se dará principalmente en un lugar de la pantalla haciendo que algunos objetos se corten por ese tiempo de retardo hasta que vuelvan a pegarse.
  3. vsync desactivado y los frames capados por encima del refresco del monitor. Reduce el tearing y es menos propenso y molesto a suceder.
  4. vsync desactivado y frames sin capar por encima de la resolución del monitor. Esta es la opción para conseguir el menor retraso posible ademas que la diferencia en el dibujado se minimiza. Lo malo es que la variación en los frames hace que sean muy evidentes al ojo y a la suavidad o el flow de como los acontecimientos suceden en pantalla, siendo a veces incluso molesto. Es evidente aquí, si algún elemento en el hardware actúa como cuello de botella y por supuesto la degradación de la CPU y GPU es más pronunciada al estar sometida a un proceso extenuante durante largos periodos de juego.
  5. acepta la sugerencia de iracing de capar los frames a 1.4 de la velocidad del monitor. Misma situación del paso 3 pero con hechos y cálculos que demuestran que es un equilibrio aceptable entre maquina jugador e input lag.
  6. monitor de 120 Hz o 144 Hz. Siempre que tengas hardware capaz de correr por encima de estos frames, es la única solución para evitar casi todo el retraso. Podrías incluso activar tranquilamente la vsync y estar reduciendo el retraso a la mitad que tendrías con un monitor de 60 Hz. Para muchos es justo decir que los monitores de 144 Hz son un cambio tan grande como la llegada de la HD a las imágenes en el cine.

Tras esta exposición que realizo Michael Gomen hace unos 4 años. Paso a detallar un poco mi punto de vista.

El input lag, como ha dicho Michael, existe, y nuestra misión es reducirlo. La opción natural es hacerlo a través del software, desactivando la vsync y fijando los frames en un numero suficiente para que la fluidez de señales sea mas que suficiente. Parece ser, no recuerdo donde lo leí, que 167 FPS es un número suficiente siempre que nuestra gráfica sea capaz de correr la simulación siempre en torno a este número.

Esta cantidad de frames nos asegura que todo el input lag dependa en parte del hardware, como el volante o los pedales. Se puede reducir algo mas con un volante DD por la misma naturaleza de su funcionamiento, aunque es difícilmente perceptible. 

Para obtener 167 FPS constantes y estables prefiero sacrificar ciertas opciones gráficas y así disfrutar del rendimiento de la tarjeta y del PC unos meses mas. He probado que 1080p no me aporta una diferencia sustancial de mejora gráfica y sin embargo si compromete el desempeño de la maquina, provocando caídas en algunas partes y circuitos por lo que decidí hace tiempo ir en resolución HDReady (1366×768 o 1360×768) en triples. Mas por cuestiones de apreciación de luces y vértices en la pista he decidido prescindir de las sombras en pista. Es verdad que también se gana algo de rendimiento con ello. Desactivadas están las texturas de 2048 px para los coches (ni uso trading paints) y las dos pasadas de los arboles. Los espejos también están desactivados y la cantidad de coches mostrados es 20, mas que suficiente para ver todo lo que tengo alrededor con total claridad y confianza.

Más noticias

2 COMENTARIOS

  1. También esta la opción de rivatuner, puedes personaliza los fps para cada juego, con el vsync desactivado y tiene una opción de skyline para quitar ese molesto tearing, es como tener un freesync o gsync pero por software, para mi lo mejor, por ejemplo que quieres jugar a assetto corsa cc en vr. pues lo pones un perfil a 45 y ahí se queda, no noto diferencia con ir a 90, solo en los menus que si parapadean a veces, lo recomiendo da mas estabilidad, sobretodo con tarjetas nvidia y msiafterburner, reduciendo la variación de latencia, es mejor incluso que el lowlatenyi de nvidia, mejora 200%. el movimiento del raton en juegos como call of duty, en fin yo es lo que utilizo después de probar de todo, normalmente ejecuto a 85 hz el monitor y los juegos a 85 fps con este programa y no necesito monitor freesync. pero bueno siempre es mejor utilizar los limitadores del juego que se supone que para eso esta, aunque yo utilizo siempre esta opción y de lujo.

Dejar respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Últimas noticias