JuegosTutoriales

¿Qué es el frametime y qué tiene que ver con los FPS?

La mejor medición para diagnosticar tirones o stuttering al jugar

Seguramente hayas oído hablar del frametime a la hora de analizar el rendimiento de un juego. Este concepto guarda una estrecha relación con los fotogramas por segundo o FPS, pero no son exactamente lo mismo. Vamos a analizar su utilidad, y en qué se diferencian.

Qué es el Frametime

Qué es exactamente el frametime

El frametime se define como el tiempo que pasa entre que se renderiza un fotograma y el siguiente. Más bien, podríamos hablar de cuánto tiempo se encuentra un fotograma en pantalla.

Así, si hablamos de un frametime en un momento dado de 16 ms, significa que el último fotograma ha estado en pantalla durante ese tiempo.

Pensémoslo bien: con esta definición, todo apunta a que el frametime y los FPS vienen a ser casi lo mismo. De forma que unos 60 FPS son 60 fotogramas visualizados en un segundo, lo que haciendo la cuenta inversa nos llevaría a 16.67 ms por cada fotograma, o 16.67 ms de frametime.

Sin embargo, esto no es en absoluto así. No se puede establecer una equivalencia entre los FPS y el frametime, y esto es lo que hace que ambas medidas sean muy importantes, y que no dependemos de solo una de ellas. Te lo explicamos.

Frametime vs FPS: ¿Qué explica mejor los problemas de rendimiento en juegos?

El quid de la cuestión es que el frametime nos está dando una imagen de cuánto dura cada fotograma, mientras que los FPS nos indican todos los que se muestran durante todo un segundo.

Por ejemplo, que se muestren 60 FPS es tremendamente beneficioso, pero no tiene nada que ver con el frametime de cada fotograma individual. Veamos dos ejemplos extremos:

  • Un fotograma se queda «parado» durante medio segundo, y en el otro medio segundo se consiguen mostrar otros 59. Tendremos 60 FPS, pero habremos sufrido un importante tirón en el juego.
  • Durante ese segundo, todos los fotogramas han aparecido más o menos cada 16.67 milisegundos. Volveremos a tener 60 FPS, pero en este caso la fluidez será increíblemente mayor.

Para que quede todavía más claro, vamos a hacer una representación gráfica de cómo se pueden mostrar 10 fotogramas en un segundo (10 FPS) pero con un tiempo entre fotogramas distinto.

Tirones FrametimeSi la segunda situación se repite constantemente, y la entrega de fotogramas es tan irregular, entonces notarás graves problemas de rendimiento en juegos, con tirones constantes.

Unos FPS altos y estables pero un mal rendimiento: sí, puede ocurrir

Así, tras esta introducción de lo que son los FPS y el frametime, podemos llegar a la conclusión de que se puede dar la situación de que tengamos unos FPS altos, incluso estables, pero aún así el rendimiento sea malo.

De hecho, es algo que seguramente nos haya pasado a todos, y lo peor de todo es que no podemos darle una explicación si solo tenemos los valores de los FPS delante. Ante esta confusión, la solución está en monitorizar el frametime. Ni más ni menos.

Cuando notes que el rendimiento de un juego es malo a pesar de tener unos buenos FPS, revisa siempre el frametime.

¿Cómo monitorizarlo y cómo interpretar los resultados?

Como decimos, siempre que notes tirones con una tasa de FPS elevada deberías comprobar el frametime. Para ello, el programa ideal es MSI Afterburner. Puedes descargarlo desde su página web oficial, y funciona con cualquier tarjeta gráfica (no tiene por qué ser MSI).

Frametime AfterburnerUna vez hayas instalado el programa, ábrelo. Dentro de su interfaz, encontrarás un icono de configuración del programa. Entra, y accede a Monitorización.

Frametime AfterburnerAhí, debes elegir las opciones de Frametime y Velocidad de fotogramas, y hacer click en el check (✓) para que se muestre esa información en los gráficos de Afterburner, a los que puedes acceder también desde el propio programa, justo bajo el botón de configuración.

También puedes hacer click en mostrar información en pantalla. Así, los datos de Frametime y FPS se mostrarán mientras juegas. Elige la opción text,graph al menos en el Frametime, para que se muestre un gráfico.

Ahora bien, ¿cómo interpretamos los datos de frametime arrojados por el programa? Lo primero en lo que nos debemos fijar es en que sean lo más estables y consistentes posible. Obviamente en relación a la estabilidad que tengan los FPS.

Interpretación frametime en juegosPor ejemplo, en la imagen de arriba te mostramos una prueba que hemos realizado con Minecraft en dos situaciones distintas. En una, nos movíamos por el mapa con total fluidez, se ve un frametime muy estable y no hay tirones. En otra, había importantes tirones que quedan representados en el gráfico del frametime. En este caso, el motivo del stuttering era una generación de chunks del mapa.

Además de esto, su valor debe rondar lo que le correspondería a la división de 1 entre el número de FPS. Por ejemplo, esto sería lo ideal para:

  • 30 FPS: alrededor de 33.3 milisegundos
  • 60 FPS: alrededor de 16.7 milisegundos
  • 100 FPS: alrededor de 10 milisegundos
  • 150 FPS: alrededor de 6.7 milisegundos
  • 200 FPS: alrededor de 5 milisegundos

Evidentemente, si nos estamos esperando un frametime de 16ms, no pasa nada porque sea de 14, de 15, o de 17. El problema vendría en ver picos demasiado altos.

Ten en cuenta que el eje horizontal de una gráfica de frametime no representa los segundos. Más bien, cada punto es un frame concreto, y el eje vertical indica lo que duró. ¡Fíjate en cómo va cambiando la velocidad en la que se dibuja el gráfico con Afterburner!

Te recomendamos la lectura de nuestra guía sobre 60 FPS vs 30 FPS y de 60 FPS vs 120 FPS.

 

¿Cuáles son las causas de estos tirones y cómo puedo solucionarlos?

¿Y por qué ocurren todos estos tirones? Básicamente, la causa de un mal frametime es un retraso en la generación del fotograma, generalmente provocado por un factor externo.

Por ejemplo, si tenemos una tarjeta gráfica capaz de producir hasta 200 FPS en un juego, pero un procesador con un cuello de botella exagerado, es posible que veamos un rendimiento de (por ejemplo) 60 FPS que esconderá muchísimos fotogramas con un retraso inmenso, y un pico de frametime consistente que lleve el rendimiento a pique.

El problema también puede venir por otras causas. Por ejemplo, se puede deber a que la memoria RAM está demasiado llena, por lo que se introduce un retardo para liberar espacio en memoria secundaria antes de que la CPU pueda actuar. Incluso puede deberse a una baja velocidad de las memorias.

En resumen, la mejor manera de solucionar el stuttering por un frametime demasiado alto es intentar diagnosticar el problema en función del uso de CPU, GPU y memoria RAM, además de comprobar si estos componentes dan la talla para aquello a lo que queremos jugar.

Palabras finales y conclusión sobre el frametime

El frametime es una de las mediciones más importantes a la hora de analizar el rendimiento en juegos. Cuando vemos una medida de fotogramas por segundo (FPS), estamos asumiendo que la duración de esos fotogramas es regular en el tiempo. Es decir, si tenemos 100 FPS, asumimos que a cada segundo se está lanzando un fotograma cada 10 milisegundos. En la realidad, esto no es así, de ahí que podamos ver cómo sufrimos de tirones o stuttering en juegos con unos FPS altos.

En comparación con los FPS, el frametime se usa para ver cuánto tiempo dura cada fotograma hasta que se renderiza el siguiente. Así, si representamos los resultados en una gráfica y vemos cómo algunos fotogramas duran más tiempo del esperado, es ahí donde tenemos los temidos tirones.

Monitorizar el frametime es un proceso muy sencillo, que podemos hacer con MSI Afterburner, por ejemplo. La información que nos da sobre el rendimiento es valiosísima y, si la ponemos en comparación con otras medidas como el uso de CPU, GPU o RAM, podremos diagnosticar dónde está el problema.

¿Usas el frametime con frecuencia para analizar el rendimiento en juegos de tu PC? ¡Cuéntanoslo en los comentarios!

Breixo Gómez

Apasionado del Hardware, exigente con la calidad de los productos. Intento aprender lo máximo cada día. No dudes en dejarme cualquier duda o sugerencia en los comentarios ;)
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba