febrero 04, 2007

XNA, el arma de doble filo

Mi PC no está mal, no es que sea lo mejor a lo que se puede aspirar, pero no está mal del todo: tengo dos XFX 6800GS XXX (subidas a 515 Mhz) en SLI con un AMD 4000+ (overclock de 2,4 Ghz a 2,55Ghz), todo pinchado en una ASUS A8N SLI Deluxe, que es la estabilidad hecha placa.

Las dos 6800GS en SLi dan un rendimiento aproximado de una 7800GTX, lo que no es para nada despreciable, aunque se puede mejorar.
Sin embargo, mis juegos no van siempre bien, de hecho, posiblemente uno de los que más me gustan ahora mismo (con la salvedad de Oblivion) no va demasiado bien, me refiero al RainBow Six: Vegas.
Inicialmente no configuré bien el SLi y la cosa me iba realmente mal, tanto que aburría jugar, es imposible tener un mínimo de control con 15FPS de media... simplemente es inaceptable. Pero resulta que no lo estaba haciendo bien, después de leerme un par de foros y otros tantos artículos lo conseguí, el SLi entró en funcionamiento (aunque regular... gracias NVIDIA por hacer un trabajo tan penoso con un motor como el Unreal... total ¡no se va a usar en casi ningún juego!).

El caso es que ahora ya casi puedo jugar, tengo picos de 50FPS, pero en determinados momentos cae a 15FPS... a menos de 15FPS no lo he visto, por que ya se sabe "en el fragor de la batalla" a uno se le pasan esas cosillas.
Es por eso que decidí poner el FRAPS, para los que no los sepan, con esa herramienta mido los FramesPerSecond de mi ordenador con este juego y no solo eso, puse una herramienta para medir la temperatura de las GPUs durante el juego, se llama Everest y está muy bien, por que puedo ver las temperaturas que quiera en el LCD de mi teclado que es un G15, asi lo puedo ver en tiempo real.
Y bueno los resultados, los esperados: una de las GPUs llega a los 82 grados centígrados (la voy a ventilar mejor ;)), la otra se queda en los sesenta y pico, la CPU a 43 grados (el disipador que le puse es una maravilla) y el juego tiene de media unos 35 FPS y unos mínimos de 14FPS, con unos máximos de 54FPS. Regular, muy regular.

El caso es que, aun teniendo un ordenador que tendría que tirar con el juego con más o menos calidad (sin pasarse , nada del otro mundo: 1024x768, HDR y lo demás a medio o mínimo) no tira.
Fue entonces cuando busqué cómo le iría al resto de la gente... y me encontré con esto:
una 8800GTX en SLi (simplemente el poderío de esto es espeluznante) tiene problemas con este juego ¡¡¡problemas!!! ¿estamos de coña o que?.
Sí, por lo visto que estamos de coña. Yo soy pro UBISOFT, siempre me ha gustado, pero de verdad que últimamente estoy poco contento. ¿Como se puede sacar al mercado un juego que con dos tarjetas que valen 650Euros cada una, no tenga un rendimiento excelente?.
¿Alguien ha visto el Rainbow Six Vegas en una XBOX 360?, yo si. El juego va perfecto, sin problemas, la noche y el día.

Ya sabemos que los juegos en consola exprimen hasta del último ciclo de reloj, que la tarjeta de vídeo es totalmente conocida y que por tanto se puede desarrollar para ese HW sacandole un partido enorme... eso ya lo sabemos. No se trata de una comparación, en cuestiones de productividad un PC siempre va a perder con una consola... no es ahí a donde voy. Yo a lo que voy es a cómo se le explica a los usuarios de PC que un juego a día de hoy, no vaya bien en una configuración con dos 8800GTX en SLI..

Pues bien, yo creo que la explicación viene de la mano de XNA.
Para mi el juego no es de PC. Sí, así como suena, simplemente funciona sobre un PC, lo que no quiere decir que el desarrollo se haya enfocado para esta plataforma.
XNA es un gran invento, Microsoft ha hecho un buen trabajo. Le ha dado a los desarrolladores una plataforma para poder programar los juegos en PC y XBOX360 sin problemas, de forma cómoda y casi simultanea (casi!), y sin los sufrimientos de tener que migrar un código de una a otra plataforma.
Microsoft ha hecho esto con una sana intención, y es darle a PC la posibilidad de que tenga todos los juegos desarrollados para XBOX 360 y que a los estudios no les cueste demasiado migrarlos, ya que Microsoft, no quiere un PC sin juegos, necesita un Windows Vista con juegos, que la gente los compre... así que XNA es una buena solución, de hecho es una gran solución.
Pero tenemos un problema, bueno mejor dicho, Microsoft tiene un problema, y es que los juegos programados con XNA para XBOX360 hay que pulirlos antes de sacarlos para PC, no se puede esperar que habiendo desarrollado un juego sobre XBOX 360, hagamos dos parches, pongamos tres opciones en el menú, lo metamos en un DVD y le pongamos la pegatina de PC y listo... no, por que entonces lo que nos encontramos es esta situación, usuarios de PC que tienen que ver como sus juegos no andan en su plataforma, y desarrolladoras engañando a los usuarios de una forma, que raya en la cara dura, y claro vemos a usuarios de PC migrándose como locos a XBOX 360 o PS3, normal quién no lo haría!. Así que Microsoft tiene un problema, y no es pequeño.

¿Qué sentido tiene que hagas una plataforma centrada en los juegos, cuando los juegos no tiran?, o que obligues a la gente a cambiar de PC cada pocos meses?. Que al menos el PC dure un poco!, que las casas desarrolladoras dediquen algo de tiempo para pasar los juegos a PC de una forma un poco más honesta, digo yo...

Por otro lado, mirándolo desde el punto de vista de la desarrolladora que hace los juegos para XBOX 360, XNA es casi perfecto. No es del todo perfecto por que el juego no le va igual de bien el PC, que sino... sino!, sería perfecto del todo.
Para ellos XNA es un 2x1, tienen terminado el desarrollo de PC y de XBOX 360 a la vez, el marketing es el mismo, los gráficos prácticamente iguales.... ¿que mas queremos?, ¿cómo podemos esperar que UBI se gaste el dinero en pulir los juegos de PC, cuando el negocio está en la consola en donde nadie le copia el juego?.
Es por todo esto que, en mi opinión, vamos a ver durante un buen tiempo que los juegos que salgan para PC y XBOX 360 a la vez (GRAW 2, el próximo), creo que van a seguir siendo tremendamente desiguales en cada una de las plataformas, al menos en términos de rendimiento.
Esperemos que me esté confundiendo, pero tengo el triste convencimiento que estoy en lo cierto. Hasta que el PC no adelante con mucho en poderío a XBOX 360 (va rápido la cosa, ya veremos qué pasa con el R600 de ATI!), no veremos que los juegos van igual de bien en XBOX 360 que en PC, pero para entonces ya estará DX10 totalmente implantado... y espero, solo espero que para entonces, tengamos juegos en PC hechos exclusivamente para PC. Mi esperanza, DX10.