Cuando nos disponemos a medir el rendimiento de nuestra tarjeta gráfica, cuando vamos a adquirir una nueva o simplemente por pura curiosidad siempre nos asalta la duda de los FPS. Tenemos cogida por norma la idea de que lo importante son los FPS. Si bien es cierto que a mayores FPS mejor «experiencia de juego» vamos a tener a «X» resolución también es bien sabido que esos FPS no son el único parámetro que debemos tener en cuenta y aquí es donde entra el Frametime.
Podemos tener una alta tasa de FPS y una experiencia de juego nefasta, algo que sin duda a muchos les extraña e indigna. Tan importante son los FPS como un buen FrameTime, pero ¿qué es realmente el tan buscado Frametime?
El Frametime es la representación, medición y observación del tiempo de renderizado de un frame o fotograma (latencia) y la diferencia con el siguiente, mostrada en un gráfico de forma cronológica y que exhibe problemas, tartamudeos o cualquier anomalía que en un gráfico corriente no veríamos.
Un Frametime mide y expone la experiencia casi real de lo que vemos en pantalla mientras jugamos, si tenemos un leve tirón, un parón, una caída de framerate lo veremos.
El Frametime es más completo que una media de FPS
La realidad es que si queremos ver como se comporta una GPU bajo un escenario específico debemos recurrir al Frametime como elemento de muestra de dicho rendimiento. Una gráfica con puntuaciones medias de FPS es representativo, incluso una con 99 percentile será más específica, pero en ningún caso mide como esa GPU trabaja en el juego.
Dicho esto hay dos formas de medir un Frametime, midiendo el renderizado interno de la GPU con el motor del juego/benchmark o midiendo el resultado del renderizado en la salida de vídeo de la GPU. El primero muestra como realiza el trabajo de renderizado de frames la tarjeta al final de su pipeline pero el segundo es más completo ya que muestra la finalización del mismo y solo quedaría el monitor de por medio para su representación final.
Esto tiene otro problema, el primer método es complicado de realizar pero no requiere hardware específico, el segundo es más sencillo pero requiere la inversión de una serie de equipos para las mediciones.
Este hardware no es propietario, aunque si bien NVIDIA sacó hace tiempo una herramienta para su uso específico de FCAT y que ahora a desarrollado también para realidad virtual y que le otorga una ventaja a la hora de poder medir más fielmente los datos con el hardware que adquiramos.
Teoría asimilada, solo queda ver que ofrece este tipo de medición y por qué es tan completa:
Como se aprecia en este gráfico, por un lado tenemos el tiempo de renderizado expresado en milisegundos y por otro las tramas registradas en el tiempo. A menor tiempo tarde la GPU en renderizar un cuadro y empezar con el siguiente más FPS tendremos en pantalla y lógicamente tendremos más tramas en menos tiempo. Lo que aquí vemos es como se desempeñan internamente cada GPU, donde podemos apreciar un buen parón alrededor de la trama 4720 donde aumenta casi 10 ms el tiempo de dicho renderizado.
Para que sea más sencillo de entender y sobre todo más gráfico, los tan buscados por los gamers 60 FPS equivalen a 16,6 ms de tiempo de renderizado, por lo tanto y siguiendo con el ejemplo de la trama 4720, la GPU RX 570 estaba ofreciendo en el momento previo al parón unos 15 ms (de media) subiendo hasta 25 ms justo después.
Esto quiere decir que hemos pasado de 66,6 FPS a 40 FPS en ese preciso instante, una caída bastante pronunciada y que notaríamos mientras jugamos . Por si tenéis curiosidad de cara al futuro la forma de calcularlo es bastante sencilla, solo hay que hacer una división: 1000/ms.
Al hablar de tiempos tan extremadamente rápidos es posible que alteraciones de pocos milisegundos no las percibamos y simplemente notemos mucha suavidad a la hora de jugar, pero una alteración de los mismos contínua pueden dar como resultado problemas como stuttering, jitter o similares.
Para entenderlo todavía mejor vamos con dos ejemplos más claros:
Ambos gráficos son la misma toma, uno representa el Time Frame (superior) y el otro el Frametime (inferior) y sí, no son lo mismo ni significan lo mismo en jerga informática. En el gráfico superior vemos los FPS en el tiempo mientras que en el inferior el tiempo de renderizado de esos FPS expresado en milisegundos.
Como se aprecia, la experiencia de juego (salvando los picos en el Frametime) es bastante decente, no es muy compacto (lo que determinaría mayor fluidez de serlo) pero es bastante estable lo cual es bueno para la jugabilidad.
Si nos fijamos hay un pico casi al final de la trama (5215) donde los milisegundos suben mucho pero los FPS apenas se mueven, eso quiere decir que hemos tenido un pequeño «lagazo», no llega a ser stuttering porque no se ha repetido, pero estropea la experiencia del jugador.
Como se aprecia, la toma fue de 120 segundos donde se analizaron 5677 tramas, el número de muestras tomadas ya evidencia cual de los dos es más fidedigno a la hora de analizar como se desenvuelve una GPU, de manera que podemos dar por vencedor claro al Frametime.