¿PowerVR o Adreno en NX?

Comentario Original:

¿Podrías hacer una entrada entre las ventajas y desventajas de incluir una andreno (como tu propones) o una powervr (como insiste Xarman) como GPU en NX?

Bueno, yo propongo Adreno por dos motivos:

  1. La gente de ArtX y posteriormente en ATI/AMD que ha trabajado historicamente con Nintendo se encuentran ahora en Qualcomm.
  2. El procesador de comandos de los Adreno es muy parecido al de los R600/R700 por lo que sería fácil portar la API de bajo nivel de Nintendo.

No obstante sobre el segundo punto parece que todo apunta  a que Nintendo con tal de conseguir la mayor cantidad de bienes de producción posibles en su siguiente plataforma han abandonado su familia de APIs propietarias para adoptar las del grupo Khronos, es decir OpenGL en todas sus variantes y probablemente Vulkan.

khronos_group

¿Diferencias entre los Adreno y los PowerVR? En principio los PowerVR están muy bien documentados pero los Adreno no, por lo que la entrada va a ser corta.

#1 Soporte de APIs

El soporte de APIs del PowerVR Series 7XT soporta el OpenGL ES 3.1 y este diseñado alrededor de este, en cambio el Adreno más avanzado tiene un soporte de APIs al nivel de DirectX/Direct3D 12 por lo que el chip de Qualcomm es más avanzado en esto, hasta el punto en que desde la serie 4xx soporta Geómetry Shader, un tipo de Shader que no es soportado en OpenGL ES 3.1 estándar y por tanto no ha sido incluido en los PowerVR pero si que se puede utilizar a través de extensiones.

#2 Tile Rendering

La forma de realizar el Tile Rendering en ambas GPUs es distinto, en el caso del PowerVR lo que hace es dividir el búfer trasero en bloques de 32×32 pixeles.

tiling

En el caso de los Adreno la cache puede tener un tamaño entre 256KB y 1MB por ROP, el tamaño en pixeles del Tile no es fijo y esto es debido a que pese a que los Adreno pueden funcionar como Tile Renderers para hacerlo necesitan hacerlo de forma manual. Mucha gente lo desconoce pero los Adreno tienen un antepasado en este chip:

XBOX_360_GPU_Xenos_Xenos

¿La diferencia? Xbox 360 tenía un solo pozo de memoria embebida mientras que el Adreno tiene varios aunque de menor tamaño y es ese cambio en la naturaleza de la GPU lo que permite el Tile Rendering en estos aunque la arquitectura no se penso inicialmente para ello. Es decir, el Tile Rendering en los Adreno es modo de funcionamiento mientras que en los PowerVR es algo que es su naturaleza.

#3 Potencia.

Esta es la parte más peliaguda de todas porque la arquitectura de la PowerVR nos la conocemos, pero la arquitectura de los Adreno es…

istockphoto_4894377-don-t-know

Intento buscar una fuente primaria de la propia Qualcomm pero es imposible y la definición de la arquitectura esta protegida bajo llave. Aunque hay una cosa con la que puedo darle la razón a Xarman con lo del PowerVR y no había caído, algo que no tiene nada que ver con los tres puntos expuestos arriba y que es de…

Link-facepalm

Resulta que no he caído que Qualcomm ofrece los SoC como soluciones completas y la ventaja de tener un chip a medida es que te permite controlar la propiedad intelectual del mismo. ¿Sabéis el motivo por el cual AMD no fabrica el chip de PS4 o el de Xbox One para PC? Porque la propiedad intelectual de dichos chips, aunque no la tecnología que utilizan, están bajo el control de Sony y Microsoft respectivamente y por tanto son las que controlan los precios y la producción de dichos chips y es muy importante para un fabricante de cuaquier sistema embebido controlar dichos componentes porque le permite controlar mejor los costes y el precio de su mismo producto.

El caso es que no he visto nunca un Adreno fuera de un SoC de Qualcomm mientras que los PowerVR son agnósticos y por eso deberían tener mas números. En serio, siento no haber caído en ello anteriormente.

Es decir, que en la contienda solo por este simple punto pierde Adreno y gana PowerVR.

Anuncios