Opción C: NX con un Tile Renderer como GPU

He estado unos días fuera para aclarar ideas de cara a hacer entradas en el blog y después de meditarlo profundamente he llegado a la conclusión que mi enfoque especulatorio sobre NX podría estar muy, pero que muy errado.

INTELLIGENT LIFE MAGAZINE MAY / JUNE 2012 Intelligence Portrait of Expressive Baby rvw196741                                                           (       #           -       (           8       3           C       >           N       I           ^       Y           k       f           u       p

Como esto es solo a nivel especulatorio no pasa nada, no deja de ser una forma de distraer la mente de otras cosas, se que he hablado varios escenarios posibles en cuanto al hardware de NX, pero de este no he hablado todavía y se basa en la idea de utilizar un Tile Renderer. El Tile Rendering  explicado de forma simplificadaconsiste en lo siguiente: Una vez la CPU ha enviado la lista de comandos para dibujar un fotograma, lo que se hace es que en vez de almacenar los comandos para una sola imagen se reparten y ordenan entre las diferentes “piezas” que formarán la imagen final.

tiling

 

La arquitectura más famosa es el PowerVR de Imagination Technologies pero esta técnica es utilizada también en los Mali de ARM y los Adreno de Qualcomm, todos ellos procesadores de dispositivos PostPC y por tanto GPUs de bajo consumo. Los Tiles/Piezas en los PowerVR son de 32×32 pixeles,suficiente como para poder procesarlosen una memoria dentro de la GPU (Búfer Trasero+Búfer de Profundidad+Stencil) y luego enviarlos a la RAM donde se génera el búfer final o frontal (utilizando los ROPS para escribir en memoria). En los PowerVR cada Tile/Pieza a procesar se almacena dentro de una cache interna y no de una memoria scratchpad por lo que el proceso de gestionar la memoria es completamente transparente al desarrollado, pero además utilizán esa cache interna para realizar renderizar por diferido con el Tile/Pieza que estén renderizando.

La ventaja principal del Tile Rendering es que elimina la necesidad de grandes anchos de banda sobre la VRAM para las diferentes operacions gráficas gracias a que la única operación que se realiza sobre la VRAM es el volcado búfer de dibujado para componer la imagen final, ya que cada Tile de 32×32 pixeles es operado en una memoria interna que da el suficiente ancho de banda como para que no hayan cuellos de botella, por otro lado esto significa que no es necesario de una memoria embebida  en el chip ni otras soluciones, como memoria HBM montada, para obtener ese ancho de banda, lo que se traduce en un hardware mucho más barato.

Por otro lado dejadme hacer mención a lo que dijo Iwata en su día:

Actualmente Nintendo tiene cuatro divisiones de hardware y una de ellas es para el desarrollo de hardware. Hace años habóian dos divisiones de hardware distintas, una para dispositivos de mano y otro para consolas doméstiacas, con poca interaracciones entre el personal (de ambas). De hecho, teníamos que utilizar tecnologías completamente diferentes para la portatíl y la de sobremesa al mismo tiempo. Las tecnologías que eran adecuadas para los dispositivos de bolsillo y las consolas domésticas casi no tenían nada en común, por lo que era razonable dividir el desarrollo del hardware en dos divisiones.

Sin embargo con los avances tecnológicos recientes, las tecnologías para ambos sistemas se estan volviendo más similares. También, justo debido a que hay consolas domesticas esto no significa que están tenan que consumir tanta electricidad como estas puedan. De hecho, hemos estado trabajando pro-activamente para reducir el consumo en lo máximo posible desde la era Wii…

Es decir, es muy posible que el hardware de NX venga del mundo de la tecnología para dispositivos de bolsillo, siendo una de las que tendrían más números en este planteamiento la arquitectura PowerVR 7xT de Imagination Technologies, en especial el modelo GT7900.

PowerVR-GT7900-GPU-PowerVR-Series7XT

 

La gráfica tiene unos 512 Stream Processors en total, los cuales son mucho más que los 160 Stream Processors de Wii U, pero más alto es el salto si tenemos en cuenta que hablamos de un sistema de 800 GFLOPS, lo cual deja los 176 GFLOPS de Wii U en evidencia y todo en un entorno donde el consumo energético sería mucho menor y por cierto, el rendimiento de este chip es mejor que el del Tegra X1, el cual por cierto tampoco es un Tile Renderer.

La idea en la plataforma NX sería lo mismo que hace Apple con sus iPhone y el iPad donde el chip pese a compartir arquitectura no es el mismo sino que escala (incluyendo la gráfica) dada la diferencia en la resolución de pantalla.

AppleA8 A8X draft floorplan

Los iPhone e iPad utilizan tecnología PowerVR  y dado que la arquitectura es escalable en el número de clusters que contiene en su interior se pueden crear varios factores forma a través de la misma arquitectura. Es más, recordemos lo que dijo Iwata en su día:

Apple es capaz de lanzar dispositivos inteligentes con varios factores forma uno después de otro porque hay una sola manera de programación adoptada por todas las plataformas. Apple tiene una plataforma común llamada iOS. Otro ejemplo es Android, pese a que hay varios modelos Android no tiene sequías de software porque hay una forma en común de programar en la plataforma Android que funciona con varios modelos El punto es: las plataformas de Nintendo deberían ser como esos dos ejemplos.

Es decir, Nintendo puede sacar una sobremesa NX y una portátil NX que compartan catálogo de juego y arquitectura en el hardware pero que tengan ciertas diferencias obvías. Esto no es como la PS Vita por un lado y el Vita TV por otro, aunque la idea es unificar catálogo tiene que haber un factor diferencial entre la sobremesa y la portátil siendo el factor diferencial a favor de la sobremesa la mayor resolución de pantalla y una mayor cantidad de memoria en el sistema, lo que da para texturas de mayor calidad.

En fin, esto es todo. ¿Veis esta opción más viable que las otras dos?

Anuncios