En los foros de videojuegos y las diferentes redes sociales, como si fuese la llamada diaria a un desconocido Dios de la Guerra, los defensores más acérrimos de las diferentes marcas de consola sacan sus hachas de guerra. Esgrimen el argumento de los TeraFLOPS en sus consolas favoritas como argumento de peso para defender la superioridad técnica de la marca de sus amores. Sin embargo, ¿qué valor tiene esta medida de rendimiento y que significa realmente?
Los diferentes fabricantes de consolas de videojuegos llevan tiempo usando un término para comparar la potencia de las mismas a nivel de marketing. Nos estamos refiriendo a los TeraFLOPS o dicho de otra manera cuantos 1.000.000.000.000 de operaciones en coma flotante con números de 32 dígitos en binario puede hacer el chip gráfico en un segundo. Y no, no nos hemos equivocado de número, dado que un TFLOPS son eso, 10 elevado a la 12 operaciones por segundo. No obstante, el mercadeo es muy tramposo y es importante conocer un concepto básico para entender a qué se refiere. Y la realidad es que todo esto tiene miga.
Operaciones versus instrucciones
A la hora de diseñar un chip con la capacidad de ejecutar un programa es necesario codificar las instrucciones que va a ejecutar en la circuitería del mismo. La lógica más simple nos dirá que podemos crear una parte de la circuitería para cada instrucción. Sin embargo, pronto nos quedaremos sin espacio y sin transistores dentro del presupuesto. Así que terminaremos haciendo lo que hacen en todos los diseños, crear una serie de operaciones básicas que servirán para definir el resto de instrucciones. Por lo que de entrada todas las instrucciones acabarán basando en una o en varias operaciones distintas.
La cantidad de operaciones que utilizada cada instrucción es definida por los arquitectos a la hora de diseñar el chip, incluso si dos procesadores son compatibles entre sí a nivel de poder ejecutar los mismos programas, nos podemos encontrar que dos chips bajo una misma arquitectura difieran levemente sobre la cantidad de operaciones que requieren ciertas instrucciones. Y aquí es donde entramos en el primer problema de las comparativas de los TeraFLOPS en consola, un mismo programa puede que no requiera la misma cantidad de operaciones en una consola que en otra.
TeraFLOPS en consolas de nueva generación: PS5 vs Xbox Series
Por si fuera poco, tenemos que aunque los sets de registros e instrucciones se anuncien como iguales tanto en PlayStation 5 como en ambas Xbox Series. Oficialmente por parte de AMD todas son RDNA 2, hemos de aclarar que esto no es del todo cierto. El motivo de ello es que son diseños semi-custom y es muy probable que los ingenieros de AMD en colaboración con los de SONY, por un lado, y los de Microsoft, por otro, hayan decidido implementar dos versiones de la misma ISA. Dicho de otra forma, es probable que ciertas instrucciones requieran menos operaciones que otras para ejecutarse en una consola que otro
Dado que no todas las instrucciones pesan lo mismo. Si estas fueran piedras, ¿cuántas de estas se pueden llevar de un lugar a otro? No se puede saber por el hecho que no todos los programas son iguales. En todo caso lo que sí que se puede hacer es compararlos dentro de la misma arquitectura. Por ejemplo, PlayStation 5 y Xbox Series al usar la misma arquitectura por parte de AMD si que se podrían comparar. Lo que no sabemos es si AMD ha hecho pequeños cambios en cada diseño en particular que afectan la ejecución para mejor o para peor de ciertas instrucciones.
En cambio, si comparamos con consolas de anteriores generaciones, incluso si redujésemos la potencia en TeraFLOPS de las actuales consolas al nivel de las antiguas, nos encontraríamos que las más nuevas tendrían ventaja. Por cosas como mejoras en la arquitectura, instrucciones que se ejecutan de forma más eficiente, etcétera. Hay que tener en cuenta que cualquier chip a día de hoy es algo tan complejo que se divide en varios bloques con decenas de ingenieros por bloque diseñando sus diferentes partes. Aunque lo normal, y en casos como las consolas, y para ahorrar costes, es que compartan bloques comunes.
Pero, ¿qué miden los TeraFLOPS en gráficas y consolas?
Y llegamos a la parte final, la cual al igual que un capítulo de Scooby Doo descubrimos que el monstruo es un sujeto con máscara. Antes os hemos dicho que cada instrucción tarda una serie de ciclos de reloj para ejecutarse. Pues bien, para dar la potencia máxima en TeraFLOPS se utiliza la instrucción FMADD. La cual realiza en solo ciclo y dos operaciones y que es la siguiente operación matemática: A+B*C. No todas las instrucciones tardan lo mismo y algunas pueden tardar incluso decenas de Hz en ejecutarse.
Como entenderéis en un escenario real una GPU no estará ejecutando todo el rato dicha instrucción, sino muchas otras. ¿Significa que dicho dato es mentira? No necesariamente, pero nuestra mente entiende mejor las cosas cuantificables que no los conceptos abstractos. Es por ello que es más fácil vendernos que el chip gráfico de una consola es más potente que otro. Sin embargo, ¿recordáis cuando las RX Vega sacaban más TFLOPS que la GTX 1080 y esta última barría el suelo con ellas? Pues aquí ocurre lo mismo. Es por ello que necesitamos pruebas de otro tipo que nos permitan comparar las consolas más allá de los TeraFLOPS.
Es decir, se requiere coger el mismo juego y comparar cosas como la resolución, nivel de detalle, calidad de las texturas, tasa de frames y una enorme cantidad de parámetros. Sin embargo, todo queda en la pericia del equipo de desarrollo y, por tanto, de la optimización al juego para dicha consola. Por lo que al final no importa en que consola juegues a tus juegos favoritos. Lo importante es que funcionen de manera adecuada y que su rendimiento sea el óptimo.