ATI y Nvidia opinan sobre Bullet y PhysX ATI y Nvidia opinan sobre Bullet y PhysX

Candentes comentarios entre los ingenieros de Nvidia y ATI

ATI y Nvidia opinan sobre Bullet y PhysX

por

Candentes comentarios entre los ingenieros de Nvidia y ATI

Hace 3 semanas AMD lanzó una seria acusación a Nvidia afirmando que los desarrolladores de juegos sólo usaban PhysX por dinero y a los pocos días la respuesta de Nvidia en su defensa. Este tema supo a poco para muchos medios noticiosos y desde Atomic Maximum Power Computing hicieron una entrevista a ingenieros de ambas empresas a fin de esclarecer este asunto… estén preparados, los comentarios vertidos entre ellos no son nada cordiales.

AMD y Nvidia están apostando todo a sus propias aplicaciones de físicas, si bien en el aspecto técnico, ambas soluciones son similares, existen claras diferencias entre ellas:

PhysX

Es una API de físicas por GPU que tiene 5 años en el mercado y que gracias al mucho tiempo que tiene, se podría considerar una solución probada y comprobada, la cual funciona tanto en GPU como en CPU, y no sólo está disponible para PC, sino también para Wii, PlayStation 3 y Xbox, así como también Linux. PhysX tiene una lista impresionante de juegos que la usan de los cuales la gran mayoría son compatibles con CPU tanto de PC como de consolas, siendo sólo 16 los juegos que la soportan por GPU, de ellos 5 fueron lanzados entre el 2009 hasta la actualidad, y estos 5 son: Batman: Arkham Asylum, Dark Void, Mirror´s Edge, U-Wars y Metro 2033, el cual por cierto es capaz de funcionar también con la versión CPU de PhysX. Nvidia no percibe ventas de hardware adicionales por su soporte a Wii y Xbox 360, aunque si beneficios económicos gracias a que PhysX es un middleware.

Bullet

Si bien Bullet no es nueva, pues anteriormente se conocían sus versiones por CPU y por GPU (CUDA de Nvidia), si es nueva su versión OpenCL por GPU, la cual es de fuente abierta bajo licencia Zlib, lo que la hace libre de incorporar en los juegos. Bullet tiene el mismo soporte a plataformas que PhysX, y es apoyado también por aplicaciones como Maya y otros paquetes de creación de contenidos.

Havok

API de físicas por CPU de Intel, su apoyo por parte de los desarrolladores de juegos es inmenso y ofrece la gama más amplia de apoyo a plataformas.

Aquí un cuadro resumen de las tres API de físicas:

Opinión de AMD sobre Bullet

AMD cree que ha tomado la decisión correcta al apoyar a las físicas Bullet, al ser esta de código abierto puede ser usada por cualquier compañía sin importar si la implementan por GPU o por CPU, no importa cual implementación sea mejor; sólo ofecerles valor añadido. El carácter abierto de Bullet impide que todos los beneficios se centren en un solo fabricante.

Casi todos los juegos que usan PhysX lo hacen por CPU, y los pocos que usan GPU sólo funcionan en hardware Nvidia. Afirman que no es su plan el pagarles a los desarrolladores para que usen su solución de físicas, sino darles libertad de elección. “Moveremos la industria hacia los estándares abiertos; PhysX es poco probable que sea aceptada por toda la industria”.

Opinión de Nvidia sobre PhysX

Nvidia deja claro que no existe intercambio de dinero para la implementación de PhysX en los juegos, pero defienden su solución patentada ferozmente, apoyando a los desarrolladores para que implementen PhysX, de otro modo no serían capaces de innovar a la velocidad que lo hace Nvidia. Afirman que sus competidores están celosos debido a que ellos no están trabajando con los desarrolladores de juegos, y que las tecnologías que están introduciendo poseen un par de generaciones de antigüedad.

El enorme apoyo a PhysX es claro y rivaliza con el de Havok, al cual consideran un paquete de físicas propietario, el cual no es brindado gratuitamente, no posee un estándar para el comportamiento de objetos sólidos, ni es usado en algún motor de juego estándar. En cuanto a Bullet opinaron: “¿Cuándo estará disponible realmente esta impresionante solución?”.

¿Incursionará Bullet al mercado de los juegos?

Los de AMD anunciaron que al menos 3 desarrolladores de juegos lo apoyan y que uno de ellos pondrá en marcha sus proyectos este año. Bullet es el 3º motor de físicas usado en los juegos y que también han preparado el motor Pixelus Digital Molecular Matter el cual será incorporado a la versión para PC de Bullet; la cual permitirá romper cosas con libertad así como apropiadas simulaciones de vidrio y metal en los juegos, y tiene licencia gratuita para PC y ejecutará sobre Direct Compute. Dejaron una pregunta interesante para Nvidia: “¿Existe algún juego que use PhysX por GPU que no sea parte del programa de marketing de Nvidia (TWITBP/PhysX Games), o que no implique algún pago por parte de Nvidia?”.

Los de Nvidia respondieron: “En lugar de perder el tiempo en asuntos de relaciones públicas, deberían hacer cosas que ayuden al lanzamiento de juegos. ¿Cuándo AMD tenía DirectX 10.1 acaso no pagaron a los desarrolladores para que lo usaran? ¿Acaso no estuvieron haciendo programas similares con los desarrolladores para DirectX 11? Aunque no podemos confirmar que AMD haya estado ayudando a los desarrolladores de juegos DirectX 11”. Nadeem de Nvidia mencionó algo totalmente inesperado: “¡Si encontráramos algún juego que use físicas basadas en GPU sobre el que no sepamos, seriamos despedidos!”. “PhysX no es una aplicación, el subsistema de físicas soporta ambientes CPU mulitihilo. Es el desarrollador del juego el que decide cuantos hilos usar”. “La mayoría sólo se fijan en los que tienen un solo hilo dedicado a PhysX”.

Un vistazo al futuro.

El mercado de las físicas es muy competitivo, AMD eligió el API abierta Bullet contra las ofertas propietarias de Intel y Nvidia creyendo que es la mejor opción tanto para desarrolladores como para los consumidores. Si bien los títulos que usan Bullet son pocos, AMD tiene un buen mercado establecido y sus gráficas cuentan con un precio atractivo.

Nvidia por su parte se aferra a PhysX hasta el final. Mientras Bullet funcionará bien en las tarjetas de Nvidia, no se verá PhysX funcionando en las VGA de ATI y Nvidia continuará alentando a los desarrolladores de juegos a usar sus tecnologías propietarias en los juegos. El reciente lanzamiento de la GTX-480 ha creado gran expectativa en la industria y sólo el tiempo dirá si será un éxito.

AMD se encuentra desarrollando Llano (Fusion), el cual fusionará CPU y GPU y se lanza a fines de año. “La física no tiene un lugar equivocado si el CPU es justo al lado del GPU, creemos en el computo heterogéneo el cual mostrará un mejor entendimiento entre ambos mercados”.

Nvidia espera que las ventas de las GTX-480 continúen incrementando la cuota de mercado de físicas a su favor; continuaran su trabajo con los desarrolladores de software. “La mayoría del trabajo que hacemos es la ingeniería, por ejemplo la física, los drivers y características gráficas y de performance. Ese es nuestro compromiso con los juegos para PC. Me encantaría que AMD pueda decir que están tan comprometidos”.
Se mantenga o nó Bullet en el mercado está por verse, pero en los próximos años significaran sin dudas un interesante desafío para ambas compañías que veremos muy de cerca.

Conclusiones

Que querrán decir con la frase: “¡Si encontráramos algún juego que use físicas basadas en GPU sobre el que no sepamos, seriamos despedidos!”. En cuanto al uso de un solo hilo en PhysX por CPU, dicen que es el desarrollador el que decide si implementa 1 o más hilos de procesamiento en PhysX, pero ¿Acaso no es Nvidia la que se encarga de implementar PhysX en los juegos a través de su programa TWIMTBP? Son muchas las dudas que dejan en el aire.

En cuanto al tema de la implementación de DirectX 10.1 y DirectX 11 en los juegos, fuertes acusaciones, acaso los de Nvidia no saben la diferencia entre un API estándar (DirectX) perteneciente a un sistema operativo (Windows) y su desarrollador (Microsoft) comparado al API propietario (PhysX) del que ellos mismos son dueños, ¿ATI es dueña de DirectX? En fin lo que hay que leer.

En cuanto a Bullet y DDM, encuentro fantástico que cada uno de ellos trabaje desde un API GPGPU distinta, es un modo inteligente de aprovechar todo el potencial del hardware, con Bullet funcionando desde OpenCL y DDM usando el motor Direct Compute y por consiguiente los compute shaders dedicados que poseen los GPU ATI DirectX 11 (en DX10 y DX10.1 se usa los shaders genéricos), esperemos que sea implementado ampliamente por los desarrolladores de juegos.

Link: AMD and NVIDIA butt heads over physics (Atomic Maximum Power Computing)