Presentamos NVIDIA Reflex: un conjunto de tecnologías para optimizar y medir la latencia en los juegos competitivos

Autor Seth Schneider el 1 de septiembre de 2020 | Artículos destacados FramesWinGames GPU GeForce RTX Guías NVIDIA Reflex

Hoy en día, el 73 % de los usuarios de GeForce utiliza juegos multijugador competitivos o de deportes electrónicos. League of Legends, el juego de deportes electrónicos con mayor seguimiento, tuvo más de 100 millones de espectadores a lo largo del campeonato de 2019, unas cifras superiores a las de la Superbowl de la NFL del año pasado. Los juegos de deportes electrónicos compiten con los juegos deportivos tradicionales en cuanto a número de espectadores y de tiempo de juego, por lo que es más importante que nunca que los jugadores adapten sus equipos y hardware para poder dar lo mejor de sí mismos. Por este motivo, hace unos años, NVIDIA invirtió en un laboratorio de juegos de deportes electrónicos formado por científicos de NVIDIA Research, dedicado a estudiar el rendimiento de los jugadores y del hardware en los juegos de deportes electrónicos. Hoy nos complace compartir contigo los primeros frutos importantes de esta investigación.

Junto a nuestras nuevas GPU GeForce RTX serie 30, te ofrecemos NVIDIA Reflex, un revolucionario conjunto de GPU, pantalla G-SYNC y tecnologías de software que miden y reducen en juegos competitivos la latencia del sistema (conocida también como latencia entre hacer clic y mostrar la acción en pantalla). La reducción de la latencia del sistema es fundamental para los jugadores competitivos, ya que permite que el ordenador y la pantalla respondan más rápido a las entradas del teclado y del ratón del usuario y que los jugadores apresen a enemigos más rápidamente y tomen capturas con mayor precisión.

 

NVIDIA Reflex presenta dos nuevas tecnologías importantes:

NVIDIA Reflex SDK: un nuevo conjunto de API para que los desarrolladores de juegos reduzcan y midan la latencia de renderización. Al integrarse directamente en el juego, el modo de latencia baja Reflex alinea el trabajo del motor del juego para completar el proceso de renderización justo a tiempo, elimina la cola de renderización de la GPU y reduce la contrapresión en la CPU. Gracias a esto, la latencia se reduce y rebasa las técnicas solo para controladores existentes, como el modo de latencia ultrabaja de NVIDIA.

El modo de latencia baja Reflex estará disponible pronto para los mejores juegos competitivos, incluidos Apex Legends, Call of Duty: Black Ops Cold War, Call of Duty: Modern Warfare - Warzone, Destiny 2, Fortnite y Valorant, y ofrecerá mejoras de latencia en escenarios de juego de alto consumo de recursos de GPU en GeForce GTX 900 y otras tarjetas gráficas NVIDIA superiores.

Mientras que en el pasado los jugadores tenían que hacer suposiciones sobre la respuesta de su sistema en función de métricas de rendimiento, como los fotogramas por segundo (fps), el analizador de la latencia Reflex permite conocer de una manera mucho más completa y precisa el rendimiento del ratón, del ordenador y de la pantalla. Hoy en día, con el analizador de la latencia Reflex, los jugadores competitivos pueden comenzar una partida con confianza, sabiendo que su sistema funciona exactamente como debe.

Analizador de la latencia NVIDIA Reflex: una revolucionaria herramienta de medición de la latencia del sistema integrada en las nuevas pantallas G-SYNC de 360 Hz para juegos de deportes electrónicos de Acer, ASUS, MSI y Dell, y compatible con los principales periféricos para juegos de deportes electrónicos de ASUS, Logitech, SteelSeries y Razer.

El analizador de la latencia Reflex detecta los clics del ratón y, posteriormente, mide el tiempo que los píxeles resultantes (por ejemplo, el fogonazo de una pistola) tardan en cambiar en pantalla. Hasta ahora, era prácticamente imposible que los jugadores realizaran este tipo de mediciones, para lo que era necesario gastarse más de 7000 USD en cámaras y equipos de alta velocidad especializados.

 

Mientras que en el pasado los jugadores tenían que hacer suposiciones sobre la respuesta de su sistema en función de métricas de rendimiento, como los fotogramas por segundo (fps), el analizador de la latencia Reflex permite conocer de una manera mucho más completa y precisa el rendimiento del ratón, del ordenador y de la pantalla. Hoy en día, con el analizador de la latencia Reflex, los jugadores competitivos pueden comenzar una partida con confianza, sabiendo que su sistema funciona exactamente como debe.

 

En este artículo, vamos a examinar en profundidad qué es la latencia del sistema y la tecnología NVIDIA Reflex, así que abróchate el cinturón.

¿Qué es la latencia en realidad?

La latencia es una medida de tiempo que describe el retardo entre una acción deseada y el resultado esperado. Cuando utilizamos una tarjeta de crédito para pagar una compra en línea o en el supermercado, el tiempo que el sistema tarda en confirmar la compra es la latencia.

Los jugadores experimentan principalmente dos tipos de latencia: latencia del sistema y latencia de la red.

La latencia de la red es el retardo en el recorrido de ida y vuelta entre la aplicación cliente del juego y el servidor multijugador, conocido más habitualmente como «ping».

 

Este retardo puede afectar a nuestro juego de varias formas distintas en función de la respuesta del código de red del juego a la latencia de red. A continuación se muestran algunos ejemplos:

  • Confirmaciones de blancos retardadas, como cuando das en el blanco, pero no recibes la confirmación de la muerte hasta mucho después. Como resultado, puede que se desaproveche munición o se produzca un retardo en apuntar a tu próximo objetivo.
  • Interacciones retardadas con los objetos del mundo de fantasía del juego, como puertas o cofres de botines que se abren.
  • Posiciones retardadas de los oponentes, que dan lugar a lo que se conoce como «ventaja del observador» (más adelante, seguiremos hablando de este concepto).
 

Ten en cuenta que la latencia de red no es lo mismo que los problemas de inestabilidad de red, como la pérdida de paquetes y los paquetes desordenados. La inestabilidad de la red puede causar problemas como el «rubberbanding» y la desincronización. El «rubberbanding» se produce cuando te mueves por el juego y vuelves a estar en la posición que tenías unos segundos antes. Al igual que una goma elástica, el servidor hace que retrocedas elásticamente a tu posición. La desincronización es cuando se pierden paquetes, lo que produce saltos en la red. Parecerá que los enemigos hagan una pausa durante un segundo y después se teletransporten a su posición correcta. Estos dos problemas comunes no son cuestiones de latencia de red, pero normalmente ocurren cuando el paquete tiene que desplazarse y, por tanto, se correlaciona con una mayor latencia.

La latencia del sistema es el retardo entre las acciones del ratón o del teclado y los cambios de píxeles resultantes en la pantalla, por ejemplo, el fogonazo de un arma o el movimiento de un personaje. Esto también se conoce como la latencia del sistema entre el clic y la pantalla o de extremo a extremo. Esta latencia no afecta al servidor del juego, solo a los periféricos, al ordenador y a la pantalla.

 

Este retardo afecta al juego de varias maneras. Estos son algunos ejemplos:

  • Respuesta retardada, como cuando mueves el ratón, pero tu objetivo en pantalla se queda atrás.
  • Disparos retardados, como cuando disparas, pero el retroceso del arma, los rastros de las balas y los agujeros de bala no se visualizan inmediatamente después de haber hecho clic con el ratón.
  • Posiciones retardadas de los oponentes, un fenómeno conocido como «ventaja del observador» (sí, la «ventaja del buscador» también se ve afectada por la latencia del sistema).
 

En un nivel alto, hay tres etapas principales en la latencia del sistema: el periférico (como un ratón), el ordenador y la pantalla. Ha resultado difícil de describir esta latencia debido al uso de los términos «latencia de entrada» o «retardo de entrada» para hacer referencia a distintas manifestaciones de la latencia del sistema.

Por ejemplo, puedes encontrar el aviso «Latencia de entrada» en la caja de un ratón para referirse al tiempo que el ratón tarda en procesar los clics. También puedes encontrarlo en la caja de un monitor para referirse al tiempo que la pantalla tarda en procesar los fotogramas. Y puedes verlo mencionado en juegos y herramientas de software para referirse al tiempo que tarda el juego en procesar las acciones de entrada. Si todos estos casos reciben el nombre de «latencia de entrada», ¿cuál de ellos representa realmente la descripción?

Latencia del sistema, de extremo a extremo

Dediquemos un momento a profundizar un poco más y definir algunos términos más precisos que «retardo de entrada»:

  • Latencia de los periféricos: el tiempo que el dispositivo de entrada tarda en procesar la entrada mecánica y enviar esos eventos de entrada al ordenador.
  • Latencia del juego: el tiempo que la CPU tarda en procesar las acciones de entrada o los cambios en el mundo de fantasía del juego y enviar un nuevo fotograma a la GPU para que lo renderice.
  • Latencia de renderización: el tiempo que transcurre desde el momento en el que el fotograma entra en la cola de renderización hasta que la GPU renderiza totalmente el fotograma.
  • Latencia del ordenador: el tiempo que un fotograma tarda en recorrer el ordenador. Esto incluye la latencia de renderización y del juego.
  • Latencia de la pantalla: el tiempo que la pantalla tarda en presentar una imagen nueva después de que la GPU haya renderizado el fotograma.
  • Latencia del sistema: el tiempo que abarca toda la medición de extremo a extremo, desde el inicio de la latencia de los periféricos hasta el final de la latencia de la pantalla.

Estas son definiciones de alto nivel que tratan por encima algunos de los detalles, aunque nos ofrecen una base estupenda para informar sobre la latencia de forma eficaz. También profundizaremos en cada una de las etapas más adelante en este artículo, así que, si quieres información más técnica, ve directamente a la sección avanzada.

¿Qué diferencia hay entre los fps y la latencia del sistema?

En general, los valores de fps más altos se correlacionan con una latencia del sistema más baja, pero esta relación queda lejos de ser 1:1. Para comprenderlo mejor, retrocedamos y pensemos cómo podemos medir nuestras interacciones con el ordenador. En primer lugar, tenemos el número de imágenes por segundo que la pantalla puede presentar. Este número es una tasa de rendimiento denominada fps (fotogramas por segundo). La segunda forma es el tiempo que nuestras acciones tardan en reflejarse en una de estas imágenes, una duración denominada latencia del sistema.

Si tenemos un ordenador capaz de proporcionar 1000 fps, pero nuestras acciones de entrada tardan un segundo en llegar a la pantalla, estaríamos hablando de una experiencia negativa. A la inversa, si nuestras acciones son instantáneas, pero la velocidad de fotograma es de 5 fps, eso tampoco será una gran experiencia.

Así pues, ¿cuál de los dos factores de medición es más importante? Hace más de un año, nos propusimos responder a esta pregunta y los resultados son bastante interesantes. Hemos publicado nuestra investigación completa en SIGGRAPH Asiay, en resumen, observamos que la latencia del sistema afectaba a la capacidad de los usuarios para completar las acciones de apuntar en juegos para practicar la puntería mucho más que la velocidad de fotograma mostrada en su monitor. Pero ¿a qué se debe esto?

¿Por qué es importante la latencia del sistema?

Para responder a esta pregunta, veamos primero algunos ejemplos de juegos reales:

 

En primer lugar, echemos un vistazo al registro de blancos. El registro de blancos es un término que los jugadores usan para referirse a cómo el juego registra los disparos que dan a otro jugador. A menudo, culpamos al registro de blancos cuando SABEMOS sin ningún lugar a dudas que dimos en el blanco. Todos hemos pasado por eso. Pero ¿se trata realmente del registro de blancos?

article-fpo

En esta captura, el usuario pulsó el botón del ratón cuando el punto de mira estaba sobre el objetivo, pero aun así erró el tiro. Debido a la latencia del sistema y al movimiento del oponente, el motor del juego interpretó que el punto de mira estaba realmente detrás del objetivo. De hecho, lo que se ve en la pantalla se encuentra detrás del estado actual del motor del juego. Esto se debe simplemente a que el ordenador tarda un rato en procesar la información, proporcionar el fotograma y presentarlo en la pantalla. En los juegos en los que los milisegundos cuentan, un retardo adicional de 30 a 40 ms puede significar perder la oportunidad de eliminar a un oponente y ganar la partida.

En segundo lugar, vamos a tratar la «ventaja del observador». A un nivel alto de juego competitivo, normalmente se mantiene un ángulo cuando se tiene una ventaja de ángulo extrema (cuando se está mucho más lejos de la esquina que el oponente) para compensar una característica de los juegos en línea denominada «ventaja del observador».

La ventaja del observador es la ventaja instantánea que el atacante tiene al mirar desde una esquina a un jugador y mantener un ángulo. Debido a que la información sobre la posición del jugador atacante tarda en llegar al defensor a través de la red, el jugador atacante tiene una ventaja inherente. Para compensarlo, los jugadores observarán la esquina con movimientos rápidos y bruscos, mirando rápidamente y volviendo a protegerse a cubierto, ya que esta maniobra les permitirá ver a un enemigo antes de ser vistos, lo que proporciona una ventaja instantánea. Este fenómeno suele considerarse una característica del código de red del juego o la latencia de la red. Sin embargo, la latencia del sistema puede desempeñar un papel muy importante en la ventajas del observador.

article-fpo

Como se puede apreciar en la captura anterior, ambos jugadores estaban a la misma distancia del ángulo y sus «pings» eran iguales. La única diferencia eran las latencias del sistema.

Al igual que en la explicación del registro de blancos, a mayor latencia del sistema, se retarda la visualización del mundo de fantasía del juego, por lo que el objetivo te ve antes de que lo veas. Si tu latencia del sistema es mucho menor que la de tu oponente, puedes mitigar totalmente la ventaja del observador. Todavía se deben tener en cuenta los efectos de la red del juego, pero, en general, una latencia del sistema más baja ayuda a mitigar la ventaja del observador cuando defiendes y a tener ventaja cuando atacas.

Por último, vamos a analizar la precisión al apuntar. En particular, los movimientos rápidos para apuntar. Probablemente, practicar los movimientos rápidos para apuntar es el entrenamiento más importante que puedes usar para juegos competitivos como CS:GO o Valorant. En un instante, deberás adquirir el objetivo, moverte rápido para apuntarlo y hacer clic con una precisión increíble que requiere una exactitud de milisegundos. Pero ¿has tenido alguna vez la sensación de que, hagas lo que hagas, los movimientos rápidos para apuntar no son consistentes?

Precisión al apuntar en movimiento lento

Apuntar implica una serie de correcciones subconscientes de submovimientos basadas en la posición actual del punto de mira con respecto a la ubicación del objetivo. A mayor latencia, se incrementa el tiempo de este bucle de realimentación y disminuye la precisión. Además, a valores más altos de latencia media, la latencia es más variable, lo que significa que a tu cuerpo le costará más predecirla y adaptarse a ella. El resultado final es bastante claro: una latencia elevada implica menos precisión.

Y eso nos lleva a los resultados de nuestro estudio que hemos mencionado anteriormente. En el gráfico siguiente, puedes ver cómo una latencia más baja influye mucho al medir la precisión de los movimientos rápidos para apuntar.

En juegos competitivos, los valores altos de fps y de frecuencia de actualización (Hz) reducen la latencia y ofrecen más oportunidades para que tus acciones de entrada acaben mostrándose en la pantalla. Incluso una pequeña reducción de la latencia influye en el rendimiento de los movimientos rápidos para apuntar. En la última edición de nuestroblog de investigación sobre juegos de deportes electrónicos, el equipo de investigación de NVIDIA exploró de qué manera los diversos niveles de latencia del sistema afectan al rendimiento del jugador.

El equipo de investigación de NVIDIA ha descubierto que incluso pequeñas diferencias en la latencia del sistema (por ejemplo, 12 ms frente a 20 ms), pueden marcar una gran diferencia a la hora de apuntar. De hecho, por lo que respecta a completar la tarea de apuntar (el tiempo que se tarda en adquirir un objetivo y dispararle), la diferencia media medida entre dos ordenadores con 12 ms y 20 ms de latencia fue de 182 ms, es decir, aproximadamente 22 veces la diferencia entre las latencias del sistema. Para ponerlo en perspectiva, si el objetivo presenta la misma dificultad, en un servidor Valorant o CS:GO de 128 segundos, tus disparos impactarán en el objetivo una media de 23 segundos antes en la configuración del ordenador con una latencia de 12 ms. Sin embargo, la mayoría de los jugadores juega en equipos con una latencia del sistema de entre 50 y 100 ms.

Así pues, ¿se traduce esto en que los jugadores obtienen realmente mejores resultados? Ser bueno en los juegos de disparos en primera persona competitivos implica mucho más que una mera habilidad mecánica. Un buen sentido del juego y una estrategia aguerrida pueden ser muy útiles para ganar una partida o asegurarse la victoria. Sin embargo, si nos fijamos en los datos de PUBG y Fortnite, observamos una correlación similar entre valores más altos de fps (latencia baja) y las proporciones K/D (muertes/bajas).

Correlación no significa causalidad de ningún modo. Pero al aplicar la ciencia mencionada anteriormente a esta correlación, observamos muchas pruebas que respaldan la alegación de que con valores altos de fps y una latencia del sistema baja se acierta con mayor frecuencia al disparar, lo que aumenta la relación K/D.

Reducción de la latencia del sistema con NVIDIA Reflex

Con el lanzamiento de NVIDIA Reflex, nos propusimos optimizar todos los aspectos del circuito de renderización para la latencia mediante una combinación de SDK y optimizaciones de controladores. Algunas de estas técnicas pueden dar lugar a grandes ahorros de latencia, mientras que otras tendrán beneficios más modestos, según la situación. En cualquier caso, con NVIDIA Reflex nos comprometemos a proporcionar a los jugadores y desarrolladores herramientas para optimizar la latencia del sistema.

NVIDIA Reflex SDK

Reflex SDK permite a los desarrolladores de juegos implementar un modo de latencia baja Reflex que alinea el trabajo del motor del juego para completar el proceso de renderización justo a tiempo, elimina la cola de renderización de la GPU y reduce la contrapresión en la CPU en escenarios dependientes de la GPU.

En la imagen anterior, podemos ver que la cola está llena de fotogramas. La CPU procesa los fotogramas más rápido que la velocidad con la que la GPU puede renderizarlos, lo que provoca esta acumulación, así como un aumento de la latencia de renderización. Reflex SDK comparte algunas similitudes con el modo de latencia ultrabaja en el controlador; sin embargo, al integrarse directamente en el juego, podemos controlar la cantidad de contrapresión que la CPU recibe de la cola de renderización y otras etapas posteriores del circuito. En el modo de latencia ultrabaja, el controlador ejerce mucho menos control. Aunque el modo de latencia ultrabaja suele reducir la cola de renderización, no puede eliminar el aumento de contrapresión en el juego y la CPU. Por tanto, las ventajas de latencia de Reflex SDK son generalmente mucho mejores que el modo de latencia ultrabaja del controlador.

Cuando los desarrolladores integran Reflex SDK, pueden retardar de forma eficaz el muestreo de la simulación de entrada y del juego al ajustar dinámicamente el momento de envío del trabajo de renderización a la GPU para que se procese justo a tiempo.

Además, SDK también tiene una función llamada mejora de la latencia baja. Esta característica anula la función de ahorro de energía de la GPU para mantener alta la frecuencia de reloj de la GPU cuando se depende mucho de la CPU. Incluso cuando el juego depende de la CPU, los tiempos de renderización más largos aumentan la latencia. Al mantener alta la frecuencia de reloj, se puede disparar el consumo energético, pero también se puede reducir ligeramente la latencia cuando la GPU no se utiliza al máximo y la CPU envía el trabajo de renderización final en un lote de gran tamaño. Ten en cuenta, que si no quieres aprovechar esta compensación relativa al consumo, puedes usar el modo de latencia baja Reflex sin activar la opción de mejora.

Los juegos de disparos en primera persona competitivos son dinámicos e intercambian la dependencia a la GPU y a la CPU según sea necesario. Si hay una explosión con muchas partículas y el juego pasa a depender de la GPU, Reflex SDK no permitirá que el trabajo de la GPU se acumule en la cola a fin de mantener la latencia baja. Si la renderización es sencilla y el juego depende de la CPU, Reflex SDK mantendrá alta la frecuencia de reloj de la GPU para que la latencia siga baja. Independientemente del estado del circuito de renderización, Reflex SDK reduce de forma inteligente la latencia de renderización en la configuración determinada. Con Reflex SDK, los jugadores pueden mantenerse en el punto óptimo de latencia de renderización sin tener que bajar todos los valores de configuración.

article-fpo

Los juegos de disparos en primera persona competitivos son dinámicos e intercambian la dependencia a la GPU y a la CPU según sea necesario. Si hay una explosión con muchas partículas y el juego pasa a depender de la GPU, Reflex SDK no permitirá que el trabajo de la GPU se acumule en la cola a fin de mantener la latencia baja. Si la renderización es sencilla y el juego depende de la CPU, Reflex SDK mantendrá alta la frecuencia de reloj de la GPU para que la latencia siga baja. Independientemente del estado del circuito de renderización, Reflex SDK reduce de forma inteligente la latencia de renderización en la configuración determinada. Con Reflex SDK, los jugadores pueden mantenerse en el punto óptimo de latencia de renderización sin tener que bajar todos los valores de configuración.

En el momento de anunciar Reflex SDK, está previsto que Apex Legends, Fortnite y Valorant sean compatibles con NVIDIA Reflex en la próxima versión de nuestro controlador Game Ready que se lanzará el XX de septiembre de 2020. Además, Call of Duty: Black Ops Cold War, Cuisine Royale, Destiny 2, Enlisted y Mordhau han anunciado que pronto serán compatibles con NVIDIA Reflex.

NVIDIA Reflex SDK es compatible con todas las GPU que se han fabricado desde GeForce GTX serie 900 en 2014. Sin embargo, con la mejora de la latencia baja en las GPU GeForce RTX serie 30, la frecuencia de reloj se mantiene ligeramente más alta para reducir aún más la latencia.

Para aquellos que realmente quieran profundizar en el funcionamiento de SDK, en la sección avanzada trataremos de manera más detallada el circuito de renderización, la dependencia de la CPU o de la GPU y cómo se reduce la latencia.

Opciones del panel de control mejoradas para la latencia

Modo de latencia ultrabaja

Si un juego no es compatible con Reflex SDK, puedes activar el modo de latencia ultrabaja de NVIDIA desde el panel de control de NVIDIA y disfrutar de mejoras de latencia parciales. Solo tienes que abrir el panel de control, ir a Administrar configuración 3D y seleccionar primero Modo de latencia baja y, después, la opción Ultra. Como se ha mencionado anteriormente en este artículo, esto contribuirá a reducir la latencia de renderización, pero sin controlar totalmente el circuito.

Si un juego es compatible con el modo de latencia baja de NVIDIA Reflex, te recomendamos que lo utilices en detrimento del modo de latencia ultrabaja del controlador. Sin embargo, si dejas activados ambos modos, el sistema dará automáticamente mayor prioridad al modo de latencia baja Reflex.

Reflex SDK reduces system latency beyond the Ultra Low Latency mode in 3D Settings

Preferencia de rendimiento máximo

Desde hace tiempo, el controlador gráfico de NVIDIA incluye una opción denominada «Modo de administración del consumo energético». Esta opción permite a los jugadores elegir cómo funciona la GPU en escenarios que dependen de la CPU. Cuando la GPU está saturada de trabajo, siempre se ejecutará con el rendimiento máximo. Sin embargo, cuando la GPU no está saturada de trabajo, se puede reducir la frecuencia de reloj de la GPU, a la vez que se mantiene el valor de fps, a fin de ahorrar energía.

Similar a la función de mejora de la latencia baja de Reflex SDK, el modo Preferencia de rendimiento máximo anula las características de ahorro de energía de la GPU y permite que la GPU se ejecute siempre con una frecuencia de reloj más alta. Cuando se depende de la CPU, una frecuencia de reloj más alta puede reducir la latencia a cambio de un mayor consumo energético. Este modo está diseñado para los jugadores que quieren exprimir hasta el último microsegundo de latencia en el circuito, independientemente del consumo energético.

Con las GPU GeForce RTX serie 30, podemos establecer una frecuencia de reloj más alta que antes, lo que permite a la GPU obtener la latencia de renderización absoluta más baja posible cuando se depende de la CPU. Los usuarios que utilizan GPU más antiguas aún pueden activar el modo Preferencia de rendimiento máximo y mantener una frecuencia de reloj base.

Ajuste automático de GeForce Experience

Con el lanzamiento de una nueva actualización de GeForce Experience el XX de septiembre, el panel del módulo de rendimiento del juego incluirá una función nueva que permitirá a los jugadores ajustar la GPU para reducir la latencia de renderización con un solo clic.

Esta herramienta de ajuste automático avanzada analiza la GPU para detectar la subida de frecuencia máxima en cada punto de voltaje de la curva. Una vez que ha encontrado y aplicado la configuración perfecta para la GPU, con el tiempo va probando el ajuste y lo mantiene estable.

No dejes de visitar GeForce.com para obtener más información y una guía práctica sobre esta función nueva y fascinante.

Medición de la latencia del sistema con NVIDIA Reflex

Una de las razones principales por las que no se ha hablado ampliamente de la latencia del sistema hasta ahora es porque ha sido increíblemente difícil medirla con precisión. Para medir la latencia, el dispositivo de medición debe ser capaz de conocer con precisión los tiempos de inicio y final de la medición.

Tradicionalmente, la latencia del sistema se ha medido únicamente con cámaras de alta velocidad, caras y voluminosas, equipos de ingeniería y un conjunto modificado de ratón y LED para hacer un seguimiento de los momentos en los que se ha pulsado el botón del ratón. Con una cámara de alta velocidad de 1000 fps se puede medir una latencia de 1 ms como mínimo. Sin embargo, el precio del equipo básico para una configuración como esta se sitúa a partir de unos 7000 USD. Incluso después de haber establecido la configuración, cada medición tarda unos 3 minutos en procesarse... algo que no es viable para el 99,9 % de los jugadores.

Analizador de la latencia NVIDIA Reflex

Las pantallas compatibles con G-SYNC de 360 Hz que saldrán al mercado este otoño incluyen una función nueva: el analizador de la latencia NVIDIA Reflex. Esta incorporación revolucionaria permite a los jugadores medir la respuesta del sistema y comprender y ajustar por completo el rendimiento del ordenador antes de iniciar una partida.

 

Para acceder a esta capacidad, solo tienes que conectar el ratón al puerto USB designado del analizador de la latencia Reflex a una pantalla G-SYNC de 360 Hz. El puerto USB de Reflex en la pantalla es un simple sistema de traspaso al ordenador que supervisa los clics del ratón sin añadir ninguna latencia.

El analizador de la latencia Reflex detecta los clics que provienen del ratón y mide el tiempo que el cambio de píxeles resultante (por ejemplo, el disparo de una pistola) tarda en reflejarse en la pantalla, lo que proporciona una medición completa de la latencia del sistema.

A través del nuevo Módulo de datos de rendimiento de GeForce Experience se elabora un informe sobre las métricas de latencia en tiempo real. A partir del lanzamiento de septiembre, para consultar las métricas de latencia, ve a las opciones de «Módulo de datos de rendimiento» y habilita el parámetro «Métricas de latencia».

El analizador de la latencia NVIDIA Reflex desglosa la medición de la latencia del sistema en latencia del ratón, la latencia del ordenador y la pantalla, y la latencia del sistema.

Para obtener la latencia del ordenador y la pantalla, puedes usar cualquier ratón que incluya el analizador de la latencia Reflex (excepto los ratones Bluetooth). Sin embargo, con un ratón compatible de Logitech, Razer o ASUS, también podrás medir la latencia de los periféricos y obtener una latencia del sistema de extremo a extremo completa.

Por otra parte, también publicaremos una base de datos abierta de los valores medios de latencia del ratón que se puede consultar si GeForce Experience reconoce el ratón. En el futuro, la comunidad podrá añadir ratones a la base de datos. Ya trataremos esta cuestión más adelante.

En el momento de redactar este documento, tres de nuestros socios fabricantes de ratones (ASUS, Logitech y Razer) han anunciado la compatibilidad de sus productos con el analizador de la latencia NVIDIA Reflex. No pierdas de vista sus sitios web y páginas de redes sociales para conocer los anuncios sobre la compatibilidad con el analizador de la latencia NVIDIA Reflex. Además, a partir de este otoño, las pantallas G-SYNC de 360 Hz de ASUS, ACER, Dell y MSI incorporarán la tecnología del analizador de la latencia NVIDIA Reflex.

Métricas del software de NVIDIA Reflex

Si quieres empezar a medir la latencia, puedes hacerlo antes de utilizar una nueva pantalla de 360 Hz. Cualquier juego que integre NVIDIA Reflex SDK también tiene la capacidad de añadir las métricas de las latencias del juego y de renderización a sus estadísticas. Esta medición no es la latencia total percibida, pero puede ser un primer paso para optimizar la latencia.

Además, GeForce Experience ahora incluye un módulo de datos de rendimiento que te permite hacer un seguimiento de la latencia de renderización presente en cualquier juego. Con la latencia de renderización presente se hace un seguimiento de la llamada presente a través de la cola de renderización y la renderización de la GPU. Puesto que se trata de la llamada final de un fotograma, la magnitud de la latencia de renderización presente será ligeramente menor que la latencia de renderización medida con NVIDIA Reflex SDK, pero te servirá para hacerte una idea del valor de la latencia de renderización. En una actualización futura, añadiremos la latencia de renderización a GeForce Experience.

Solo debes actualizar a las últimas versiones del controlador GeForce Game Ready y de GeForce Experience a finales de este mes, cuando se lance al mercado la función, seleccionar el menú «Rendimiento», elegir el parámetro «Métricas de la latencia» y habilitar la opción «Módulo de datos de rendimiento».

Practicar la puntería con menos latencia

Además de las herramientas de medición de la latencia, hemos colaborado con The Meta, los desarrolladores de KovaaK 2.0, para presentar en una futura actualización de la aplicación cliente un nuevo modo NVIDIA Experiments que ayudará a los jugadores a mejorar su rendimiento y perfeccionar sus habilidades.

Puedes entrar en el modo NVIDIA Experiments desde el entorno de ejecución seguro o desde el módulo de entrenamiento. Cuando estés en el modo NVIDIA Experiments, elige un experimento que te interese. Por otro lado, hemos integrado NVIDIA Reflex SDK en KovaaK 2,0, además de otras tecnologías que pueden ayudar a los jugadores a percibir la diferencia entre una latencia del sistema alta y otra baja.

Participar en experimentos no solo ayuda a mejorar la puntería, sino que también contribuye a una importante investigación sobre juegos deportivos electrónicos. Nuestra asociación con The Meta para KovaaK 2.0 nos permite poner a prueba y romper mitos del espacio del juego competitivo. Por ejemplo, en uno de nuestros primeros experimentos se pretende añadir cierta perspectiva científica a la preferencia al elegir el color del objetivo sobre la base de los debates que los jugadores competitivos mantienen en torno a los colores del contorno del objetivo en Valorant.

En otros experimentos se probarán cosas como diferentes intervalos de latencia y se te asignarán tareas difíciles de llevar a cabo.

Puedes echar un vistazo a KovaaK 2.0 de The Meta en Steam y estar pendiente del lanzamiento del modo NVIDIA Experiments.

Nivel siguiente: latencia del sistema y modo experto

Bien, vamos a abrir las entrañas del equipo y ver cómo funciona todo esto en el siguiente nivel de detalle. En esta sección se explica cómo los clics del ratón se representan realmente en los píxeles de la pantalla, el concepto del juego y del circuito de renderización, la influencia de la dependencia de la CPU y la GPU en la latencia, la superposición en el circuito de renderización y, por último, el uso de algunas herramientas para visualizar qué ocurre en el sistema.

Análisis de la representación en pantalla de las acciones del jugador

¿Cómo se representan realmente los clics en la pantalla? En el gráfico siguiente se desglosan las etapas del circuito. Ten en cuenta que, aunque estas fases se superponen, deben comenzar y finalizar de izquierda a derecha.

Bien, vamos a desglosar los cuadros de la segunda fila del diagrama anterior. Ten en cuenta que los tamaños de los cuadros no están a escala. Además, vamos a centrarnos en el ratón por una cuestión de simplicidad, pero todo lo que se indica a continuación se aplica a cualquier periférico USB conectado al ordenador.

  • HW del ratón: se define como el primer contacto eléctrico cuando el ratón está listo para enviar el evento a través de la conexión. En el ratón, algunas rutinas (como el efecto antirrebote) añaden latencia a la pulsación del botón del ratón. Ten en cuenta que las rutinas antirrebote son importantes y evitan que el ratón lance una señal de clic cuando no quieres que lo haga. Estos clics adicionales se suelen denominar doble clic (cuando se envían dos clics en lugar de uno porque la rutina antirrebote es demasiado agresiva). Por tanto, la latencia no es el único atributo esencial del rendimiento del ratón.
  • HW USB del ratón: una vez completada la rutina antirrebote, el ratón debe esperar al próximo sondeo para enviar los paquetes a través de la conexión. Este tiempo se refleja en el HW USB.
  • SW USB del ratón: el SW USB del ratón es el tiempo que el sistema operativo y el controlador del ratón tardan en gestionar el paquete USB.
  • Muestreo: los clics llegan al sistema operativo según la frecuencia de sondeo del ratón y, en ese momento, es posible que deban esperar a la oportunidad siguiente para que el juego los muestree. Ese tiempo de espera se denomina latencia de muestreo. Esta latencia puede aumentar o disminuir en función de la velocidad de fotograma de la CPU.
  • Simulación: el estado del mundo de fantasía de los juegos se tiene que actualizar constantemente. Esta actualización suele llamarse simulación. La simulación incluye elementos como la actualización de animaciones, el estado del juego y los cambios debidos a las acciones de entrada del jugador. La simulación es cuando las entradas del ratón se aplican al estado del juego.
  • Envío de renderización: a medida que la simulación determina dónde colocar las cosas en el fotograma siguiente, empezará a enviar trabajo de renderización al tiempo de ejecución de la API gráfica. A su vez, el tiempo de ejecución transmite comandos de renderización al controlador gráfico.
  • Controlador gráfico: el controlador gráfico es responsable de la comunicación con la GPU y del envío de grupos de comandos. En función de la API gráfica, es posible que el controlador se encargue de la agrupación y ahorre la tarea al desarrollador o que este deba agrupar el trabajo de renderización.
  • Cola de renderización: una vez que el controlador envía el trabajo que la GPU debe realizar, la tarea entra en la cola de renderización. La cola de renderización se ha diseñado para que la GPU siempre tenga trabajo guardado para realizar y esté en continuo funcionamiento. Esto ayuda a maximizar el valor de fps (rendimiento), pero puede generar latencia.
  • Renderización: el tiempo que la GPU tarda en renderizar todo el trabajo asociado a un solo fotograma.
  • Composición: según el modo de pantalla (completa, sin bordes, con ventanas), el Administrador de ventanas del escritorio (DWM) del sistema operativo tiene que enviar algún trabajo de renderización adicional para componer el resto del escritorio para un fotograma concreto. Esto puede añadir latencia. Se recomienda utilizar siempre el modo de pantalla completa exclusiva para reducir al mínimo la latencia de composición.
  • Análisis: una vez finalizada la composición, la memoria intermedia del fotograma final estará lista para mostrarse en pantalla. A continuación, la GPU indica que la memoria intermedia del fotograma está lista para la pantalla y cambia la memoria intermedia del fotograma desde la que se realiza la lectura para que se analice. Si la opción VSYNC está activada, este «volteo» de las memorias intermedias de los fotogramas puede paralizarse debido a que hay que esperar a la sincronización vertical de la pantalla. Una vez preparado, la GPU presenta el siguiente fotograma en la pantalla, línea por línea, según la frecuencia de actualización (Hz) de la pantalla. Dado que el análisis es una función de la frecuencia de actualización, lo incluimos en la «latencia de la pantalla».
  • Procesamiento de pantalla: el procesamiento de pantalla es el tiempo que la pantalla tarda en procesar el fotograma entrante (líneas de exploración) e iniciar la respuesta del píxel.
  • Respuesta del píxel: es el tiempo que un píxel tarda en cambiar de un color al siguiente. Puesto que son cristales líquidos reales, los píxeles tardan en cambiar. Los tiempos de respuesta del píxel pueden variar en función de la intensidad del cambio requerido y también dependerán de la tecnología del panel.

Circuito de la latencia dependiente de la GPU

Ahora que sabemos cómo llega un clic a la pantalla, vamos a profundizar en el rendimiento. Durante la generación de perfiles de los juegos, a menudo intentamos caracterizar el rendimiento en función de si depende de la GPU o la CPU. Esto es muy útil para comprender el rendimiento del sistema, pero lo cierto es que los juegos suelen intercambiar esta dependencia.

Empecemos por el caso de dependencia de la GPU cuando la opción VSYNC está desactivada.

En este ejemplo, simplificamos el circuito a cinco etapas principales: periféricos, CPU, cola de renderización, GPU y pantalla.

Vamos a inspeccionar el fotograma 4 y ver qué sucede en cada fase:

  • Periféricos: la acción de entrada con el ratón o el teclado puede iniciarse en cualquier momento, ya que depende del usuario. En este ejemplo, se ha hecho clic en el ratón antes de que la CPU estuviera lista para aceptar la acción de entrada, por lo que el evento de entrada tiene que esperar. Es como llegar a la estación de tren y esperar al siguiente tren.
  • CPU: la fase de la CPU (simulación) suele iniciarse después de que finalice lo que se llama un bloque presente. En el caso de dependencia de la GPU, la CPU ejecuta el trabajo más rápido, lo que significa que puede adelantarse a la GPU. Sin embargo, en la mayoría de las API gráficas (DX11, DX12, Vulkan, etc.), el número de fotogramas que el subproceso de envío de renderización de la CPU puede adelantar es limitado. En el caso anterior, la CPU puede adelantar dos fotogramas. La sección de la CPU finaliza cuando el controlador ha terminado de enviar trabajo a la GPU. En realidad, se ha producido una superposición con la cola de renderización, pero trataremos este punto más adelante.
  • Cola de renderización: piense en ello como cualquier otra fila o cola. El primero que llega a la cola es el primero que sale. Si la GPU está trabajando en el fotograma anterior cuando llega la CPU envía más trabajo, esta última pone ese trabajo de renderización en la cola de renderización. Esta cola puede ser útil para asegurarte de que la GPU funciona constantemente y ayudarte a moderar los tiempos de fotograma, pero puede añadir una cantidad de latencia considerable.
  • GPU: es la renderización real del fotograma que la GPU lleva a cabo. En el caso de dependencia de la GPU, el trabajo se procesa de manera sucesiva ya que la GPU es el componente que actúa de cuello de botella.
  • Pantalla: es el caso cuando la opción VSYNC está desactivada. Una vez finalizada la renderización, la GPU analiza inmediatamente la nueva memoria intermedia, sin tener en cuenta el punto del proceso de análisis en el que se encuentre la pantalla. Esto crea fragmentación, pero a menudo los jugadores lo prefieren así, porque se obtiene la latencia más baja. Más adelante publicaremos un artículo sobre VSYNC y G-SYNC, así que estate pendiente.

Bueno, ahora que comprendemos lo que sucede aquí, podemos observar que la GPU actúa de cuello de botella y, en consecuencia, se acumula la cola de renderización y se adelanta la CPU. En la imagen anterior, podemos ver que el tiempo de fotograma se corresponde con el valor medido de fps. En este caso, una GPU más rápida produciría una velocidad de fotograma mayor.

Además, podemos ver la latencia del sistema, desde el momento en el que se ha hecho clic con el ratón por primera vez hasta que finaliza la presentación en la pantalla. La latencia suele ser superior en los casos dependientes de la GPU debido a que la cola de renderización y el juego se adelantan al bloque presente y generan nuevos fotogramas que se enviarán con retardo.

Circuito de la latencia de NVIDIA Reflex SDK

Ahora, echemos un vistazo a lo que hace NVIDIA Reflex SDK en el circuito dependiente de la GPU:

Como se puede ver, la cola de renderización ha desaparecido en gran parte. Reflex SDK no la inhabilita, solo la vacía. Pero ¿esto cómo funciona?

Básicamente, el juego es capaz de marcar un ritmo mejor para la CPU, de forma que no se puede adelantar. Además, se puede enviar trabajo a la GPU justo a tiempo para que la GPU comience a trabajar sin espacios inactivos en el circuito de trabajo de la GPU. Por otra parte, al empezar el trabajo de CPU más adelante, crea oportunidades para que las acciones de entrada se muestren en el último milisegundo posible y se reduzca más la latencia.

Y cuando la cola de renderización se reduce con el método de SDK, la latencia del juego también comienza a disminuir. Este ahorro se debe a la reducción de la contrapresión que causa la cola de renderización en escenarios dependientes de la GPU.

Para aquellos que en el pasado han optimizado el equipo para obtener mejor latencia, esto es como usar un buen limitador de la velocidad de fotograma del juego para reducir la latencia. Los buenos limitadores de velocidad de fotograma del juego paralizarán el juego en los momentos adecuados, lo que permite reducir la latencia y la contrapresión en la CPU.

Sin embargo, con NVIDIA Reflex, en lugar de anclar una velocidad de fotograma determinada, la velocidad de fotograma se puede ejecutar más rápido que el límite, lo que reduce aún más la latencia. Puedes considerarlo como un limitador de velocidad de fotograma «dinámico» que te mantiene en el punto óptimo de latencia en todo momento.

Circuito de la latencia dependiente de la CPU

Al utilizar el modo de latencia baja Reflex en un caso dependiente de la GPU, el circuito se comporta como si dependiera de la CPU a pesar de que la GPU permanezca totalmente saturada y en pleno uso. Echemos un vistazo al aspecto de un circuito dependiente de la CPU real.

Como puede verse en este gráfico, la CPU limita la velocidad de fotograma. Como la CPU no puede adelantarse a la GPU, tampoco hay ninguna cola de renderización en este caso. En general, el estado de latencia es inferior en los casos dependientes de la CPU y no de la GPU.

En este caso, una GPU más rápida no ofrecerá más fps, pero reducirá la latencia. Cuando VSYNC está desactivado o G-SYNC está habilitado, una GPU más rápida implica que la imagen renderizada se puede enviar a la pantalla con mayor rapidez.

Si alguna vez te has preguntado por qué el juego parece responder mejor al rebajar la configuración, ahora ya tienes la respuesta. A menudo, bajar los ajustes puede crear un escenario dependiente de la CPU (en el que se elimina la cola) y reducir simultáneamente el tiempo de renderización de la GPU, por lo que la latencia disminuye.

En el modo de latencia baja Reflex, no es necesario que los jugadores establezcan los ajustes más bajos como valores predeterminados. Puesto que podemos reducir de forma eficaz la cola de renderización, el trabajo de renderización adicional solo alarga el tiempo de renderización de la GPU.

Además, aun en un caso de dependencia de la CPU, el modo de latencia baja Reflex también cuenta con el parámetro Mejora, que inhabilita las funciones de ahorro de energía en favor de una ligera reducción de la latencia. En los casos de dependencia de la CPU, en los que se utiliza poco la GPU, la frecuencia de reloj de la GPU se mantiene alta para acelerar el procesamiento, de forma que un fotograma se puede presentar en la pantalla lo antes posible. Por lo general, el parámetro Mejora proporciona una ventaja muy modesta, pero puede ayudar a exprimir cada último milisegundo de latencia del circuito.

Profundizar en la latencia y la superposición del ordenador

¿Quieres profundizar un poco más? Echemos un vistazo a un solo fotograma, pero esta vez fíjate en el circuito con la superposición completa.

Como se puede apreciar, la mayor parte de la superposición se produce en el núcleo de la latencia del ordenador, entre la fase de simulación y el momento en que finaliza la renderización de la GPU. Pero ¿por qué ocurre esto?

Los fotogramas se renderizan en pequeños fragmentos de trabajo denominados «llamadas de dibujo». Estas llamadas se agrupan finalmente en paquetes de trabajo. A continuación, el controlador de gráficos envía los paquetes de trabajo a la GPU para que los renderice. Esto permite que cada una de las fases comience a trabajar antes de que la fase anterior haya terminado, lo que divide el fotograma en fragmentos pequeños de solo unos bytes.

A medida que el trabajo avanza por el circuito, se va escribiendo en la memoria intermedia del fotograma. Esto se lleva a cabo hasta que se renderiza totalmente el fotograma. Una vez terminada la renderización, la memoria intermedia posterior se intercambia por otra memoria intermedia disponible en la cadena de intercambio y se envía para que se analice.

Es importante comprender bien este detalle al fijarse en las latencias de renderización y del juego. A menudo, las dos latencias se superponen, lo que significa que si simplemente se añaden no se obtendrá una cantidad de latencia correcta.

Resumen

La latencia del sistema es la medición cuantitativa de la respuesta del juego y el factor clave que afecta a la precisión de los jugadores a la hora de apuntar en los juegos de disparos en primera persona. NVIDIA Reflex permite a los desarrolladores y a los jugadores optimizar la latencia del sistema y ofrece la posibilidad de medir fácilmente la latencia del sistema por primera vez.

Como resumen, NVIDIA Reflex proporciona un conjunto completo de tecnología de latencia:

  • Tecnología de latencia baja:
    • NVIDIA Reflex SDK: un SDK para desarrolladores utilizado para habilitar el modo de latencia baja NVIDIA Reflex y obtener una latencia baja en escenarios de uso intensivo de la GPU.
    • Configuración del panel de control del controlador optimizada para la latencia: modos mejorados «Preferencia de rendimiento máximo» y «Latencia ultrabaja».
    • Ajuste del rendimiento de GeForce Experience: herramienta de ajuste automático para forzar la GPU con un solo clic.
  • Herramientas de medición de la latencia:
    • Métricas de NVIDIA Reflex SDK: los marcadores de las latencias del juego y de renderización permiten a los desarrolladores mostrar métricas de latencia en el juego.
    • Analizador de la latencia NVIDIA Reflex: nueva función en pantallas G-SYNC de 360 Hz que permite medir completamente la latencia del sistema de extremo a extremo por primera vez.
    • Monitorización del rendimiento de GeForce Experience: barra lateral y módulo del juego en los que se muestran métricas de rendimiento en tiempo real, incluida la latencia.

Nos complace presentarte NVIDIA Reflex y ayudarte a disfrutar de juegos con mayor respuesta. En NVIDIA, nuestro objetivo absoluto es reducir la latencia, así como seguir refinando NVIDIA Reflex y ampliando nuestro ecosistema de socios.

Nos encantaría saber tu opinión. Entra en el Foro de la comunidad Reflex para conversar sobre la latencia o hacer preguntas sobre la plataforma NVIDIA Reflex.

A partir del XX de septiembre, el controlador Game Ready será compatible con el modo de latencia baja NVIDIA Reflex y los juegos de nuestros socios también van a ser compatibles a lo largo de este año.A partir de este otoño, ACER, ASUS, Dell y MSI sacarán al mercado monitores para juegos G-SYNC de 360 Hz.

Comments