Gráficos en Consolas Antiguas Temp 2. (VI): PlayStation Portable

Le toca el turno a la última consola de esta serie, la primera portátil de Sony.

psp

Considerada erroneamente por muchos como una PS2 de bolsillo su arquitectura es mucho más tradicional aunque tiene una serie de tecnologías derivadas de su contemporanea de sobremesa. En esta entrada al igual que el resto me voy a centrar unicamente en el tema gráfico y lo relacionado con este.

CPU

La CPU de PSP es un MIPS R4000 que puede ir de los 33 Mhz hasta los 333Mhz. Es la segunda consola en utilizar el R4000 en la historia de los videojuegos después de N64 y se ha de tener en cuenta además que el R4000 es una evolución del R3000 utilizado en PlayStation, este es el motivo por el cual PSP puede ejecutar los juegos de PSone sin necesitar tanta potencia como otros dispositivos de bolsillo.

En la gran mayoría de juegos la velocidad de la CPU es de 222 Mhz aunque en los más avanzados esta funciona a 333 Mhz. En el modo “222” tiene una potencia de 278 MIPS utilizando el Dhrystone y en el modo “333” de 416 MIPS bajo las mismas condiciones por lo que la CPU de PSP es más potente teoricamente que la de Dreamcast en el modo “333”. Aunque realmente las cosas son mucho más complicadas con PSP que no con otras consolas de su época.

7ZIo7rk

PSP dispone de un SO complejo comparado con otras consolas que funciona en segundo plano y consume recursos de la CPU. Existe el mito de que el SO va al segundo R4000, el llamado Media Engine, pero no es así ya que tanto los juegos como el SO se ejecutan en el mismo núcleo. El llamado “Media Engine” es otro MIPS R4000 a la misma velocidad que la CPU pero se utiliza para la descodificación multimedia y tiene las siguientes especificaciones:

  • 2MB de memoria embebida que es la única memoria que puede acceder.
  • Carece de co-procesadores.

Volviendo a la CPU, la cual si que tiene co-procesadores y estos son por un lado una FPU para el cálculo de instrucciones en coma flotente del tipo escalar y una VFPU para el tipo vectorial que significa una misma instrucción para varios datos a la vez. El trabajo de la VFPU es el mismo que la VU0 en modo macro dentro de PS2, es decir, como coprocesador de la CPU principal pero no puede funcionar como un procesador independiente como le ocurre al VU0 de PSP.

Uno de los mitos existentes con la VFPU es que esta es la encargada de la geometría de la escena como ocurre con las VU en PS2, en especial la VU1, y aunque es posible hacer la geometria de la escena desde la VFPU es una perdida de tiempo y recursos desde el momento en que GPU de PSP dispone de un motor geométrico para realizar dicha tarea. Por lo que se utiliza la VFPU para cálculos como las físicas del juego, la detección de colisiones… En ese aspecto no llega al nivel de PS2, GCN y Xbox pero si que supera a Dreamcast.

Memoria RAM

La consola dispone de unos 32MB de memoria RAM en total y la arquitectura general de los acceso a la misma es la misma que la de PS2 pero con el cambio de que ya no existe el VU1 por lo que el VIF1 ya no esta y por tanto solo hay un camino de datos entre la GPU de PSP y la RAM principal.

La velocidad de la RAM principal es de 2.6 GB/seg, aunque no he podido encontrar la velocidad a la que puede acceder la GPU a esta a través del Controlador DMA aunque voy a suponer que son 2.6 GB/seg de velocidad de acceso siempre.

PSP GPU y eDRAM

Se compone de dos bloques distintos, uno de ellos es un motor T&L no programable pero que puede realizar ciertos efectos sobre las vertices como es una versión muy primitiva de la teselación.

psp08

Pero la unidad no es programable ni tampoco soporta shaders, es más, es completamente oscura. Y lo único que sabemos es su capacidad de transformación que es de unos 33 millones funcionando la GPU a 166 Mhz y esto solo ocurre en el modo “333” ya que la GPU siempre corre a la mitad de frecuencia de la CPU. Sony no nos dice en que condiciones son esos 33 millones pero esto significa que el tiempo de transformación son 5 ciclos lo que supone la misma cifra que la unidad XF de la GX GPU de GameCube y Wii, lo cual no esta nada mal para un portátil aparecida durante el 2004 en el mercado, es más, es una autentica burrada en lo que a rendimiento se refiere.

La otra parte es un mini-Graphics Synthetizer con los siguientes cambios:

  • Tiene 2MB de memoria asignada (4MB en los modelos 2000 y 3000) aunque los juegos siempre utilizan 2MB. La cantidad de memoria es menor respecto a PS2 por el hecho que la resolución de salida es de 480×272 pixeles.
  • Tiene 4 Pipelines gráficos en vez de 16 por lo que su tasa de relleno es de 666 Mpixeles en modo “333” y 444 Mpixeles en modo “222”.
  • El ancho de banda de la memoria embebida es de 256 bits en ambas direcciones para un total de 5.3 GB/seg.
  • Soporta texturas no solo de 4 y 8 bits sino también de 16 bits y 24 bits, aparte de soportar compresión S3TC/DXTC.
  • El tamaño máximo de las texturas es de 128×128 en vez  de los 256×256 de PS2.

El mayor cuello de botella que tiene PSP es el ancho de banda para el texturizado, con 2.6 GB/seg de lectura esto da para texturas de 8 bits con filtro bilineal, el hecho de utilizar el trilineal supone dividir el ancho de banda y el uso de texturas de 16 bits también.

¿Pero cual es el rendimiento visual de PSP? Hay que tener en cuenta que juegos como Resistance Retribution que tienen una calidad en lo que al texturizado se refiere superior a la de los juegos de PS2…

rr2

… mueve unos 50K poligonos por fotograma según Sony. Lo cual cuadra con las condiciones y estaríamos hablando de una consola de bolsillo que en 2003-2004 tenía la misma potencia gráfica que la Dreamcast de Sega. Lo cual es algo que si lo miramos en perspectiva resulta en un hardware que fue un verdadero hito tecnológico.

Con esto acabo la entrada y esta serie de entradas, la cual veo que no ha tenido tanto éxito como la primera temporada, pero bueno, que le vamos a hacer.

Anuncios