Uno de los problemas a la hora de comparar arquitecturas gráficas es que solamente se tiene en cuenta la potencia útil de cara al desarrollo, es decir, solo se tienen en cuenta los shaders porque es la única parte que los desarrolladores pueden controlar pero una GPU es mucho más que los shaders, en realidad es un conjunto muy complejo y hay una serie de componentes de hardware que realizan una serie de funciones que son necesarias para la composición de la escena y suman su rendimiento el conjunto global pero se encuentran fuera del alcance del desarrollador y su trabajo no esta contado en el computo global de la potencia de la GPU sino que solamente se tienen en cuenta las unidades programables, lo que llamamos vulgarmente como «Shaders».

Subjetivamente para hablar de la potencia aportada por estas unidades me gusta utilizar el termino FLOPS Oscuros o Dark FLOPS, el motivo de ello es que es un simil a la materia oscura que no vemos pero que se encuentra ahí haciendo su función y su trabajo. Este último es tan importante y la eficiencia de dichas unidades es tal que incluso hoy en día no han sido reemplazadas por las unidades programables y los motivos son dos:

  1. Una unidad fija tiene un tamaño en el chip mucho menor que una unidad programable por el hecho que la unidad es mucho menos compleja y por tanto requiere muchas menos puertas lógicas.
  2. La potencia requerida para realizar todas las tareas de manera programable acabaria resultando astronómica.

El otro día en uno de los comentarios me hicisteis recordar esto:

2TFLOPSPS3

Es de la misma presentación de donde se vio esto:

PS3TFLOPS

Por lo que podemos deducir que Nvidia decía que el RSX tenía una potencia de 1.8 TFLOPS, obviamente si tenemos en cuenta la forma tradicional de contar los FLOPS en una GPU (contando solo los de las unidades shader) sabemos que eso es mentira pero al mismo tiempo la afirmación de Nvidia era verdad por el hecho que en el computo había añadido todas las operaciones realizadas por todas las partes de la GPU, es decir… tenemos unos 1.6 TFLOPS de potencia en la GPU en las funciones fijas del RSX y esto que es una GPU de diez años… Imaginaos como han evolucionado las GPUs más nuevas en este caso por el hecho que en cada nueva iteración de OpenGL/Direct3D no solo los shaders han ido mejorando sino también las unidades de función fija por lo que en las GPUs contemporaneas estaríamos hablando de decenas y quien sabe si en algún caso de mucha potencia incluso de 1 PetaFLOP en «FLOPS Oscuros».

Dado que las marcas no dan toda la infomación acerca del rendimiento de sus GPUS los desarrolladores tienen que ir ajustando sus juegos a medida que lo van probando para conseguir la mejor optimización posible. Hay programas de optimización que marcan el momento en que hay una baja de rendimiento y en la gran mayoría de casos los desarrolladores no saben el motivo, saben lo que ocurre y saben que han de recortar la carga de trabajo en ese punto si hay un estrés para la GPU o aumentarla si hay una parte en desuso. Pero por lo general tanto AMD como Nvidia y cualquier otro que diseña GPUs se guardan la información sobre el funcionamiento y el rendimiento de sus unidades fijas. Por eso es sumamente interesante ver para creer y por tanto poner el hardware a prueba para ver de lo que realmente es capaz en vez de acabar tirando de cifras por el simple hecho de que no tenemos las cifras completas ya que buena parte de ellas se mantienen ocultas incluso hoy en día.