Physx en sistemas con tarjetas de vídeo AMD

El aprovechamiento de la física en los juegos depende de la factibilidad de utilizar Physx hasta cierto punto, y eso significa un problema para quienes usan soluciones gráficas de AMD.

Nvidia Physx

El desarrollo de una mejor física para los juegos ha sido uno de los objetivos más ambiciosos de los desarrolladores en el último tiempo, algo que puede compararse quizá a la calidad que tiene el observar una película en alta definición.

La necesidad de alcanzar un estándar de calidad que sea similar al realismo que tienen los entornos en la vida real se ha hecho perceptible en los desarrolladores de tarjetas de video, quienes entregan un poder descomunal a sus nuevas series y dotan de softwares de apoyo de última generación para sacar partido de toda su performance.

La comparación de un juego de hace unos años (no muchos) con los actuales es increíble, pues no existe un punto de equilibrio alguno y parece que en algún momento los avances que demoraban años, demoraron un par de meses y se consiguió un estándar difícilmente creíble. Los eventos naturales como cascadas de agua, ríos, árboles meciéndose con el viento y en general animaciones de movimiento son las que más encantan y obligan a un mejor desempeño de las tarjetas de hoy. Los motores físicos son cada vez más complejos debido a la alta cantidad de cálculos específicos que se necesitan para conseguir que las animaciones mencionadas parezcan “naturales” y no ficticias.

AMD Radeon HD5870

Como es de esperarse, Physx no es el único motor físico que existe en el mercado, Havok es otro de los que están disponibles y uno de los más utilizados por la mayoría de los juegos. No obstante lo anterior, a contar del 2008 cuando ambos motores físicos comenzaron a ofrecer soporte para cálculos basados en la CPU, la plataforma de Nvidia fue la escogida como la más rápida considerando los cálculos de GPU, y ese es precisamente el problema.

Para quienes son fanáticos de los videojuegos y desean tener una experiencia lo más realista posible, sólo existe una forma de sacar ventaja de Physx, esta es utilizando las tarjetas gráficas de la compañía que ha creado este motor físico, pero ¿Qué pasa con aquellas placas creadas por AMD?

El conflicto potencial que se crea es interesante de ser analizado, pues se necesita disponer de una solución sensiblemente eficiente para que aquellos que opten por una solución gráfica basada en la tecnología de AMD no se resientan con el monopolio establecido por Nvidia. Mientras la industria de los videojuegos se encuentra atascada en esta situación, la solución más simple por la que puede optarse es utilizar motores físicos basados en la CPU.

Identificando el problema

Lo primero que debe rectificarse es por qué Nvidia solamente permite la aceleración por GPU de Physx en sus propias tarjetas de video, forzando a cualquier usuario que no disponga de una de ellas a que realicen los cálculos de estas instrucciones utilizando su propia CPU.

Para quienes no optan por las soluciones gráficas de Nvidia, el resultado de activar el motor físico desarrollado por esta compañía es catastrófico, debido a que simplemente no se puede jugar bajo ninguna circunstancia. Se debe tomar conciencia respecto de que la falla en el rendimiento de los sistemas actuales no depende muchas veces de un problema de hardware, sino más bien de incompatibilidad con las opciones activadas y que han sido previamente dispuestas para que sean utilizadas en un determinado equipo.

La respuesta en torno a por qué el cálculo de la física en un juego es más lento cuando se realiza en la CPU que en la GPU, se debe a que la unidad de procesamiento gráfico tiene múltiples unidades Shader que son más rápidas que el procesamiento de estos mismos cálculos en un procesador de 2, 3, 4 ó 6 núcleos.

Nvidia GeForce GTX480

Según el propio comunicado entregado por Nvidia, el cálculo de físicas es dos a cuatro veces más rápido en una GPU que lo que puede hacer la CPU. Esta respuesta es medianamente cierta, pues la verdad hay veces en que ciertos cálculos físicos no solamente pueden ser procesados por la GPU. El esfuerzo generalmente se realiza de forma combinada entre la GPU y la CPU, como por ejemplo en los efectos de partículas donde es la unidad de procesamiento gráfico quien se encarga de dar más realidad para el usuario.

Parte del consejo que puede entregarse considera los siguientes puntos:

  • La mayoría de las CPU que funcionan como motor físico sólo utilizan instrucciones del tipo x87 (antiguas) en vez de SSE2.
  • La utilización del sistema SSE2 incrementar la performance entre un 10% y un 20%.
  • Por el contrario de lo que muchos reportes indican, las físicas basadas en la CPU si soporta múltiples procesos.
  • Existen ciertos escenarios donde utilizar Physx en CPU es mejor que en la GPU.
  • Algunos juegos como Metro 2033, si resultan más conveniente de jugar con una CPU rápida para sacar provecho de las físicas.

La posibilidad de utilizar una tarjeta gráfica AMD más una tarjeta Nvidia (como tarjeta dedicada para Physx) en un modo híbrido tiene puntos a favor y en contra que deben ser analizados por cada usuario.

Ventajas

Para muchos la implementación de una tarjeta de video extra significa un aumento de performance considerable si se trata de utilizar Physx y pasar de procesos de CPU a GPU. En estos casos el nivel de rendimiento de una tarjeta AMD HD5870 más una dedicada para Physx, es mejor que el de una sola Nvidia GeForce GTX 480.

Para todos los usuarios que posean un computador basado en tarjetas gráficas de AMD, es posible utilizar una placa de video dedicada para el proceso de cálculos físicos (Physx), muestra de ello es el rendimiento de cuadros por segundo que entrega el juego Mafia 2, el que resulta mejor en tarjetas de AMD que en las GTX de Nvidia cuando se dispone de una solución gráfica extra para cálculos de físicas.

Desventajas

Está claro que Nvidia ha contribuido a poner barreras en el desarrollo de una tecnología eficiente para el proceso de físicas desde la CPU, intentando con ello beneficiar de mejor forma sus productos en desmedro de los de la competencia, por esta razón los programas que se utilizan para sacar provecho de esta tecnología no tienen efecto alguno en tarjetas que no sean de este fabricante.

Los costos de comprar una tarjeta dedicada para el procesamiento de la física en los juegos, implica un desembolso extra que muchas veces no se condice con la compra de una solución gráfica Nvidia directamente, así como también reporta inconvenientes a la hora de aprovechar el consumo eléctrico del computador. Cada usuario deberá decidir cómo utiliza su dinero e invierte en el proyecto gráfico que más le acomode, sin embargo, las opciones ya están dichas.