EMaDeLoC escribió:pero ya dijo tu colega informático en otro hilo que la mayoría de juegos usaban enteros por tema de rendimiento.
Creo que no dejamos claro exactamente
de qué generación
de juegos estábamos hablando en general, ya que toda la fase
de transformación
de geometría e iluminación en un juego poligonal "decente" requiere casi obligadamente
de cálculos en coma flotante, ya sea vía CPU (Ps2), o GPU (Ps4). Lógicamente si hablamos
de títulos tipo Doom, Duke Nukem, o Blood todo eso tira
de enteros exclusivamente.
Yo lo entiendo así:
- La PlayStation tiene una CPU + co-procesador matemático (una FPU "
de pobres") con el que realiza toda la fase
de transformación, y luego un chip gráfico dibujador
de triángulos con el que renderiza/rasteriza todo lo que la cpu le da masticado.
- Los Pc a partir del Pentium tienen el core/CPU + FPU incluída
de serie con la que realizan toda la fase
de transformación en digamos un Quake II, además
de un rasterizador (también mejor que el
de una PS) con el que dibujan la escena en un frame-buffer en modo "software render".
Luego entrarían las aceleradoras, que literalmente "aceleran" toda la fase
de renderizado añadiendo nuevas capacidades, y por último están las GPU's que ya se encargan
de toda la fase
de transformación y renderizado ellas solitas dejando la CPU libre para centrarse exclusivamente en la
de aplicación. Tu querida Nintendo 64 fue pionera en ese sentido.
Paso
de nombrarle ahora para que venga aquí
de profesor a la mínima xD, pero yo creo que es así cómo va la cosa.
Edit, estoy estudiando el tema y quiero concretar:
Volviendo al tema, la FPU de un Pentium no esta preparada para trabajar con vectores y matrices
Sí que lo está, y sobradamente más capacitada que el GTE para dichos cálculos,
de hecho un 486DX 2 bien montado + caché L2 externa también rebasa a la CPU + GTE
de PlayStation. Las FPU's son empleadas intensamente en los universos totalmente tridimensionales para toda la fase
de transformación en aquellos primeros videojuegos 3D
de cierta calidad, ya que las GPU's aún no existían. O sea vamos a ver; para un Nascar cómo el
de principios
de los 90 cómo que tampoco hacían falta muchos cálculos en coma flotante, pero ya para un Quake II o Turok sí.
Respecto al chip gráfico
de la PS es poco más que un rasterizador
de triángulos planos con 1 MB
de VRAM donde colocar un frame-buffer, que era exactamente lo que hacía un Pc sólo que con una rasterización más eficiente, y tarjetas
de vídeo con generosa memoria (comparativamente). O sea la PlayStation era un hardware customizado y optimizado para videojuegos, pero que ultimadamente funcionaba cómo un Pc
de ultra-bajo coste para las 3D: CPU aplicación, co-procesador transformación
de geometría, rasterizador dibujado. El Pc: CPU aplicación, FPU transformación, rasterizador dibujado. Se diferenciaban en la calidad, y por supuesto en hardware cerrado - abierto. Saturn en cambio era más rarita al tener tantos procesadores, aunque ultimadamente se apoyase en el mismo principio. Nintendo 64 directamente se adelantó 4 o 5 años a la primera GPU
Luego llegaron las primeras aceleradoras 3D, pero que seguían sin ser GPU's aún, ya que toda la fase
de transformación e iluminación se la seguía comiendo la CPU+FPU, con la diferencia
de que ahora el renderizado alcanzaba un nivel superior
de calidad gracias a los chips gráficos añadidos.
Finalmente, y hasta hoy, llegaron las GPU's, las cuales ya se encargaban al 100% ellas solitas
de toda la fase
de transformación y renderizado, dejando a las CPU's libres para otras tareas, por eso los "M/GFLOPS" en éstas comenzaron a tener menor relevancia. Luego ya evolucionaron a shaders unificados y esos rollos.
Sería algo así en consolas:
- Rasterizadores básicos; Jaguar, 3DO, PlayStation, Saturn (con matices).
- Aceleradores gráficos: Dreamcast, PlayStation 2 (con matices).
- GPU's: Nintendo 64 (primitiva y rudimentaria), Gamecube, Xbox, etc.