Drivers PhysX para Geforce. Análisis y experiencia
Introducción La física aplicada al juego añade realismo y nuevos elementos hasta ahora desconocidos que mejoran la experiencia del jugador con un entorno más realista y espectacular. La aplicación de física en los juegos no es algo nuevo, de hecho se lleva aplicando desde que conocemos los juegos en tres dimensiones reales, pero también es cierto que su desarrollo no ha ido paralelo al desarrollo de los elementos gráficos. Es ahora cuando los fabricantes de tarjetas y los desarrolladores ven en la física un modo de añadir espectacularidad y funcionalidad a sus productos. En definitiva es un nuevo modo de hacer que los usuarios compremos su producto gracias a un valor añadido. ¿Para quien son estos drivers? De momento solo podrán sacar partido de ellos aquellos usuarios que dispongan de una tarjeta grafica Geforce 9800GTX, 9800GTX+, GTX 260 y GTX 280. Se espera que según se desarrolle el estándar se pueda trasladar esta mejora a todos los chips compatibles con CUDA. Otra de las cosas que seria interesante y que no parecen quedar claras es si podremos usar una gráfica para las tareas de física mientras que otra u otras se dedican al proceso grafico puro y duro. De momento Nvidia no ha hecho nada oficial a este respecto así que no cabe mas opción que esperar. Física. Estándares actuales. Por ahora ni DirectX ni OpenGL marcan unas pautas sobre el tema de cómo tratar la física en los productos gráficos actuales. Son solo líneas de acción que se muestran insuficientes para el desarrollo actual. Este hueco lo había cubierto estos últimos años un engine dedicado a física aplicada a juegos conocido con el nombre Havok. Se trata de un API que carga estos procesos en buena parte a la CPU del sistema. Hace un par de años salió a la palestra un nuevo fabricante que implementaba su propia API, llamada PhysX, apoyada en su propio hardware dedicado a la liberación de la CPU en las tareas de física potenciando los efectos y dando vida a la primera PPU (Physics processor unit). Ageia, que así se llama este fabricante, realmente no consiguió una aceptación por el público ni tampoco por los desarrolladores y en poco más de un año fue comprada por Nvidia con la promesa de que este estándar estaría disponible para todas las tarjetas Nvidia con posibilidad de CUDA. Esto viene a significar que cualquier tarjeta DX10 de Nvidia puede hacer uso de este estándar. El Ageia PhysX, después de unos meses de desarrollo, ya está disponible para tarjetas graficas Nvidia.
Tarjeta dedicada Ageia PhysX. Pero Nvidia, potenciadora del estándar marcado por Havok, no compro Ageia porque si sino mas bien para defenderse porque Intel compro Havok hace ya más de un año. En un intento de no perder una posible exclusividad de estándar Nvidia compro Ageia. Ahora la guerra está abierta. Intel está produciendo su propio chip grafico con el nombre en clave “Larrabee” y ha abierto las puertas de Havok a AMD-ATI para que estos puedan potenciar el estándar Havok para ser ejecutado en el sistema de shaders de las ATI compatibles con DirectX 10.0 o 10.1. Havok tiene actualmente un catalogo de juegos mucho más extenso pero aun no hay juegos que digamos que aprovechen el hardware de las tarjetas graficas compatibles. Nvidia va a golpear antes dando soporte a los actuales juegos que soportan PhysX y abriendo una nueva vía de apoyo al desarrollo de juegos compatibles con su estándar. Nvidia tiene una gran experiencia en este aspecto y un parque de tarjetas graficas DX10 bastante más extenso que ATI por lo que Havok, si no se mueven rápido, podría perder su posición de influencia en los desarrolladores.¿De verdad funciona esto de la física? El catalogo de juegos compatibles con la aceleración por hardware de física de Ageia no es precisamente extenso. De hecho nosotros hemos hecho unas breves pruebas con dos o tres programas compatibles porque tampoco hay mucho más por ahora. 3DMark Vantage es uno de ellos y con el vino la gran polémica. En principio el resultado global de 3DMark Vantage se realiza con solo cuatro de las pruebas. Dos orientadas a la GPU y dos orientadas a la CPU. La segunda de las pruebas orientadas a la CPU trata sobre física aplicada al juego. En principio esta prueba es compatible con tarjetas graficas Ageia y Nvidia ha aprovechado esto para cargar esos procesos no solo a la CPU del sistema sino también a asistirlos con la GPU mediante su driver PhysX.
Esta es la prueba maldita. En un quad core veríamos cuatro aros inflables, con el driver de Nvidia vemos 7 y con mucha mas potencia de proceso. Con este driver este resultado de CPU se dispara, en nuestras pruebas hasta un 100%, y esto afecta al resultado global de 3DMark Vantage. Con esto el debate está abierto. Algunos dicen que es totalmente justo, otros que la prueba está manipulada porque no está pensada para ese uso, FutureMark solo dice que aun no ha revisado los drivers de Nvidia y por tanto no puede hacer una valoración y se ha formado un pastel bastante serio. Nosotros personalmente no damos a 3DMark más importancia de la que tiene y siempre puedes realizar tu análisis con o sin ese driver. Mi opinión personal es que si Nvidia realmente está convencida de que su moto grafico es más potente que el de la competencia debería abrir el driver a otros chips y así competir justamente. Esto no va a suceder así que siempre nos quedara la duda relativa a este tema. De todos modos creo que 3Dmark es lo que es y que si se quiere ver el verdadero resultado se deben usar juegos de verdad.
Unreal Tournament es un juego de verdad y puede aprovechar el nuevo driver de Nvidia para activar el soporte de física por hardware. No pasa igual con otros juegos como Ghost Recon Advanced Warfighter 2 que no reconoce como tal el driver de Nvidia y por tanto no permite habilitarlo. En Unreal Tournament 3 el resultado está ahí. El juego mete la física por hardware y los efectos son visibles. Más espectacularidad grafica, mapas personalizados con entornos destructibles, un extra interesante para un juego que puede tener una nueva juventud con este soporte renovado. Otro de los juegos que si nos ha habilitado el poder usar la física por hardware es “Shadowgrounds Survivor “, juego no muy conocido que me vais a permitir recomendaros encarecidamente. Se trata de un arcade sencillo pero de gráficos interesantes que no solo soporta la física asistida por hardware sino también volcada sobre el procesador con excelentes resultados con tener simplemente un procesador de dos núcleos.
Si os gustan los arcades clásicos con buenos gráficos Shadowgrounds survivor no os defraudará. Como influye en el rendimiento. Ya hemos comentado que la mejora es bastante interesante en 3DMark debido a esa “manipulación” de un Test de CPU pero en la vida real los resultados son más bien al contrario. En nuestros diferentes test de Unreal Tournament hemos visto una pequeña bajada del "framerate" que llega hasta el 5%, en mapas no preparados específicamente para Physx, en condiciones de resoluciones elevadas y mucha carga de filtros de pantalla. Es un 5% sobre unos resultados que rondan los 90FPS así que tampoco es como para preocuparse pero está claro que la física en la GPU le come tiempos a la grafica para otro tipo de procesos.
En este mapa de UT3 tendremos que capturar la bandera del enemigo evitando un tornado mortal que arrasa el mapa levantando tejados y arrastrando objetos. La cosa cambia cuando nos centramos en mapas específicamente pensados para disfrutar de PhysX. En los mapas que se añaden con la modificación de Unreal Tournament 3 hemos visto que no usar el soporte por hardware se traduce en una pérdida del 50% del rendimiento. Así en nuestras pruebas en el mapa Tornado hemos visto como de estar jugando a unos interesantes 62 FPS de media con el soporte por hardware en nuestra GTX 280 a apenas llegar a los 32FPS si dejamos que la CPU se haga cargo del proceso.
¿Sería posible usar PhysX en una ATI? Pues según los chavales del ngohq.com y presumen de que este mismo fin de semana tendrán un hack del driver de Nvidia totalmente compatible con graficas ATI. Esto lo demuestran con una captura donde se un resultado sorprendente en el mismo test de la discordia del que hablábamos antes. En teoría las unidades de shaders de AMD y de Nvidia, aun siendo diferentes, han sido diseñadas para trabajar de modo similar y con objetivos similares así que igual que el PhysX se puede ejecutar perfectamente en una grafica ATI, Havok debería poderse ejecutar con la misma facilidad en una tarjeta grafica Nvidia.
Ejemplo de driver PhysX hackeado para tarjeta ATI Personalmente no creo que Nvidia vaya a permitir el tema del hack este más allá de este fin de semana, por la vía de las amenazas con demandas multimillonarias. También protegerán el controlador, como ya hicieran con el tema del SLI, para que no reconozca otros chips gráficos que no sean los propios. Al final esto se convertirá en otra guerra de APIs con intereses comerciales muy importantes. Havok empieza con cierta ventaja, con dos grandes detrás, pero Nvidia tiene mucha más experiencia en como orientar los desarrollos de entretenimiento hacia sus soluciones. Solo hay que irse a pruebas tan flagrantes como el parche de Assassins Creed que inhabilita el soporte DX 10.1 para eliminar problemas con tarjetas graficas Nvidia ya que estas no soportan este estándar. Conclusión Aquí tenemos el esperado controlador de física de Nvidia y ya se armo el revuelo. Personalmente creo que la introducción de este controlador es interesante, al menos en el hecho de que la física en los juegos cada vez se tomara más en cuenta, y que hay que darle la importancia justa a 3DMark y centrarse en lo que realmente importa al usuario que es si sus juegos van a mejorar tanto en rendimiento como en calidad grafica y realismo. Si nos centramos en esto el PhysX abre un camino más, hay otros muchos, pero quizás con la fuerza de Nvidia consiga llevarse el gato al agua.