NVIDIA PhysX: The Force Within

El pasado 12 de Agosto NVIDIA lanzó una nueva campaña denominada The Force Within, en ella pretenden potenciar todo lo que puedan de sus nuevas tecnologías aplicadas a sus tarjetas de video GeForce, entre ellas se encuentran CUDA, SLI, 3D Stereo y PhysX. Esta última la revisaremos en este artículo en la gran mayoría de sus variantes.

PhysX no debe ser algo novedoso o algo nuevo para ustedes puesto que sabemos de PhysX desde que una empresa pequeña llamada AGEIA introdujo ese concepto, muchos posiblemente se rieron de su idea y por sobretodo cuando lanzaron al mercado sus tarjeta aceleradoras de fisicas a un precio que parecía «irrisorio», en ese entonces los comentarios eran que «tarde o temprano ATI o NVIDIA comprarían a AGEIA» dado que tener una tarjeta PCI sólo para físicas y que en ese entonces con suerte 1 o 2 juegos tenían el soporte, además que ni siquiera sus propios drivers funcionaban bien, era bastante «descabellado» por decirlo menos, pues el comentario se materializó y este año el 4 de Febrero NVIDIA compró a AGEIA finalmente.

Mucho se especulaba que iba a pasar con el desarrollo del API de AGEIA para fisicas, pero finalmente NVIDIA decidió darle un uso y ni mas ni menos que utilizando 2 de sus regalones, CUDA y GeForce. Asi que desde el 12 de Agosto de este año cualquier tarjeta de video NVIDIA que soporte CUDA (GeForce 8 en adelante) tendrá soporte para PhysX sin tener que instalar ninguna tarjeta adicional.

PhysX: Del Concepto al Hecho

Corrían los años 2005 cuando una pequeña compañía llamada Ageia aparecía en el mapa. Su propuesta era mejorar la física presente en los juegos y en ciertas aplicaciones de escritorio, quitándole esta responsabilidad al CPU y confiándosela a un procesador dedicado bautizado PPU (Unidad de Procesamiento de Físicas).

Bajo esta propuesta desarrollaron su SDK para juegos que licenciaron por primera vez a Sony para su futura consola llamada PlayStation 3. Al mismo tiempo comenzaron a trabajar en el hardware que proporcionaría el soporte para esta aceleración.

Fue así como nació el proyecto, pero la ruta no era fácil. Introducir un nuevo componente con un costo no menor debía ser ampliamente justificado. Además tenían que influir sobre los desarrolladores, demostrando sus virtudes y finalmente debían desarrollar un soporte adecuado para la cambiante industría de gráficos.

Lamentablemente el mundo no estaba preparado para su producto, y ellos tampoco. Demoras en la entrega de drivers, poca optimización, poca adherencia por parte de los desarrolladores y reticencia del lado de los jugadores fueron algunos de los obstáculos de su corto camino.

Pero la idea era poderosa, más aún cuando tanto AMD y posteriormente INTEL, anunciaban que el futuro de la computación iba para el lado de los procesadores específicos integrados trabajando sinérgicamente.
Fue durante este deambular, sin pena ni gloria, apareció NVIDIA y como quién compra una pastilla de menta, desembolsó su par de milloncitos y compró Ageia.
Los planes de NVIDIA eran integrar esta solución de aceleración de físicas a sus tarjetas gráficas, que a estas alturas se llaman GPGPUs.

Tomaron los planos recién adquiridos, los juntaron con sus tarjetas gráficas y le sumaron el factor CUDA (Compute Unified Device Architecture). Para no complicar mucho la historia y ponerme redundante como mi abuela cuando cuenta algo, diremos que CUDA es un compilador que permite utilizar la enorme potencia de los GPUs no sólo en generar gráficos, sino que en tareas paralelas, como por ejemplo calcular las físicas de un juego.

La guerra que casi fue.

Las físicas son un campo que ya había sido desarrollado por otros anteriormente. Havok creadora del potente motor tras títulos como Half-Life 2 y Dead Rising dominaba este campo antes de la irrupción de Ageia, pero no contaban con soporte de hardware propietario.

Tan pronto NVIDIA lanzó la noticia de su última compra, Intel y AMD se lanzaron como aves de rapiña a la caza de Havok, la única capaz de contrarrestar el poder del nuevo equipo.
Intel finalmente compró Havok Inc.
Al mismo tiempo, NVIDIA anunciaba que su compilador CUDA sería exclusivo para los chips verdes. Esto obligó a AMD a firmar un acuerdo con INTEL para licenciar su flamante y recién adquirido motor de físicas.

Dos días después, NVIDIA se retracta y hace público su compilador, para que cualquier programador use la potencia de las nuevas generaciones de GPUs, sin importar si eran de color “Verde” o “Rojo” y de paso posicionar fuertemente su tecnología.

NVIDIA PhysX: Modos y Efectos Colaterales

Como en toda configuración uno sacrifica algunas cosas, en algunas uno sacrifica dinero, en otras espacio, etc… en este caso veremos el costo de tener un sistema con soporte para PhysX y en qué repercute si cambiamos o mejoramos nuestra plataforma.

Tenemos 3 modos de calculo de fisicas para nuestras aplicaciones, bueno al menos NVIDIA nos da 3 modalidades:

  • No Acceleration: Sin Aceleración en español, significa que todo el peso de calcular las fisicas se las lleva nuestro CPU, asi que de preferencia algún Dual Core, Tri-Core o Quad-Core y más aún con algo de overclock sino a sufrir…
  • GeForce PhysX: Consiste en que nuestra tarjeta de video NVIDIA GeForce es la encargada de procesar los calculos de fisicas, pero a su vez tenemos algunas opciones.

Single Card: Si poseemos solamente 1 VGA instalada, será ella quien aparte de cargar el juego calculará las fisicas, por ello se recomienda utilizar este mecanismo si disponemos de una GeForce 9600GT hacia arriba.

Modo SLI: Como tenemos 2 tarjeta de video corriendo en modo SLI, ambas se reparten la carga del juego asimismo del calculo de fisicas.

Multi GPU: Quizás lo que posiblemente sea más utilizado debido a que no es necesario tener un sistema SLI para realizar esta configuración, o sea, no necesitamos de forma exclusiva una placa madre basada en chipset NFORCE SLI, sino que basta con que nuestra placa madre posea 2 sots PCIe 16X para poder instalar nuestras VGAs en ellos y listo, con esta configuración dejamos una VGA como primaria (la mas poderosa) y la otra queda para calculo de fisicas (desde una GeForce 8 en adelante).

  • AGEIA PhysX: Solo si poseemos una tarjeta PPU de AGEIA.

Hay que hacer mención en algo, si estamos utilizando Windows Vista (x86 o x64) y queremos utilizar el modo MultiGPU para el calculo de las fisicas es necesario realizar un paso extra. Para poder configurar este modo debemos conectar la otra tarjeta de video (la que calculará las fisicas) a otro monitor y luego desde Windows extender el escritorio a ese monitor, de lo contrario no podremos configurar Multi GPU para PhysX.

Esperamos que NVIDIA pula sus drivers para que los usuarios de Windows Vista no tengan que realizar este procedimiento, ya que bajo Windows XP no es necesario realizarlo. En nuestro caso, como nuestro monitor posee una entrada VGA y otra DVI utilizamos ambas, cada una para cada tarjeta, pero resultará molesto para quienes no cuenten con este tipo de monitores o con 2 monitores.

Otra cosa que nos dimos cuenta, es que cuando extendemos el escritorio para configurar el modo Multi GPU, mientras menor sea la resolucion del otro monitor mas FPS obtendremos finalmente. Nos dimos cuenta de esto a pesar que en el otro escritorio (el extendido) solo se veía el wallpaper, mientras menos era la resolución mayores eran los FPS, obviamente manteniendo los mismos y la misma cantidad de efectos de fisica durante los juegos.

Otra cosa que hay que mencionar es sobre el consumo, recordemos que al momento de utilizar el modo Multi GPU o el Modo SLI necesitaremos de otra tarjeta de video con lo cual incrementaremos el consumo de nuestro sistema, si desde un principio estamos utilizando una tarjeta de video relativamente poderosa, o sea de una GeForce 8800GT hacia arriba, desde ya necesitaremos una fuente de poder que sea capaz de mantener 2 tarjetas de video trabajando a la par. Considerando en el peor de los casos que queramos utilizar una GeForce 8600GT para el calculo de fisicas, con una fuente que posea sobre 36A en la línea de 12V y con una potencia igual o superior a los 550W no tendríamos problemas en ello.

Ahora si poseemos una 9800GTX o superior y a eso le queremos agregar de una GeForce 9600GT en adelante, sabemos que por lo bajo una fuente de poder de 650W que posea en la línea o líneas de 12V combinadas un total igual o superior a los 40A para no tener que preocuparnos que nuestra fuente de poder sea el impedimento y causal de inestabilidad. En nuestro caso utilizamos una fuente de poder de 700W con PFC Activo y 4 líneas de 12V con 15A cada una, por lo que no nos preocupamos en demasía al utilizar la GeForce GTX 260 junto a la GeForce 9600GT.

Plataforma Utilizada

Hardware:

INTEL E6600@3Ghz (333×9)
MSI P45 Platinum
4x1GB Corsair PC6400 @ 800Mhz 4-4-4-12
NVIDIA GeForce GTX 260
MSI GeForce 9600GT OC 1GB
Palit GeForce 9600GSO Sonic 768MB
Western Digital 120GB SATAII
FSP Epsilon 700W Active PFC

Software:

Windows Vista Ultimate x64 + SP1
NVIDIA Drivers v177.83
PhysX Drivers v8.08.01
Futuremark 3DMark Vantage v1.01
Unreal Tournament v1.2 + PhysX Mod Pack
Ghost Recon Advanced Warfighter 2 v1.05
Warmonger v2.1

Metodología de Pruebas

Para testear el uso de Fisicas en los juegos utilizamos 4 configuraciones de Hardware, en primer lugar se utilizó solamente al CPU como calculador de fisicas, luego solamente la GeForce GTX 260, posteriormente a la GeForce GTX 260 se le sumó una GeForce 9600GT exclusiva para calculo de físicas y finalmente se utilizó una Geforce 9600GT mas una GeForce 9600GSO exclusiva para el calculo de físicas.

Todos los juegos fueron testeados con Filtros y Calidad al máximo, asimismo bajo una resolución de 1680×1050 (utilizando la GTX 260 como VGA primaria) y 1440×900 (utilizando la 9600GT como VGA primaria). Los juegos fueron corridos en modalidad In Game y medidos sus FPS gracias a FRAPS, siendo los valores graficados el resultado del promedio de 3 corridas distintas, procurando en cada una realizar la misma cantidad de movimientos y trayecto durante el juego.

Resultados: GeForce GTX 260 + 9600GT (fisicas)

Pasaremos en estas paginas a revisar qué beneficios nos trae el tener una tarjeta de video dedicada a procesar los calculos de fisicas de los juegos o aplicaciones, veremos si realmente vale la pena o son sólo númeritos inflados para un gráfico comercial.

El test sintético más nuevo de la familia de Futuremark, como pudimos sospechar el paso de utilizar nuestro CPU como calculador de fisicas a la GeForce GTX 260 es notable, ahora hay que hacer notar que posteriormente cuando añadimos una tarjeta dedicada solo para fisicas y dejamos a nuestra GeForce GTX 260 dedicada exclusivamente de los juegos la cosa cambia, ya que en nuestro caso la GeForce 9600GT no es tan poderosa como la GTX 260 por ende el puntaje final baja levemente. De todas formas es un gran paso de 7000 puntos a 9×00 puntos

Sin duda uno de los mejores juegos de Guerra a mi gusto, ya de su versión anterior (GRAW) que este juego soporta el API de AGEIA, en la gráfica vemos como el paso de utilizar nuestro CPU a utilizar alguna combinación con nuestra tarjeta de video brinda una mayor cantidad de FPS. Si le añadimos una tarjeta de video dedicada solamente para fisicas obtenemos otro bons de extra FPS, por ende hasta el momento todo bien con PhysX en el GPU.

Unreal Tournament uno de los mejores FPS, en esta oportunidad le instalamos el PhysX Mod Pack que otorga NVIDIA con lo cual agregamos 3 nuevos mapas (2 CTF y 1 Deathmatch), como soy loco por los CTF (Capture the Flag o Capturar la Bandera) utilicé el mapa Lighthouse PhysX. Muros que se derrumban, tarros con combustible que explotan y destruyen muros, vidrios caerse y romperse, son algunas de las cosas que podemos disfrutar si tenemos Physics Habilitado. Nuevamente el pasar de CPU a GPU hay un notable y marcado aumento de los FPS, además se repite el nivel de FPS ganados al momento de instalar una VGA dedicada para fisicas.

Uno de los juegos incluidos en el GeForce Pack de NVIDIA es Warmonger, un FPS en donde a todo lo que le disparemos está manejado en base a calculos de fisicas, bastante entretenido con mapas bastante buenos. A ratos pareciera que estamos jugando FEAR por el nivel de detalles en los objetos o en el mundo, el trabajo de shaders es notable, pues bien nuevamente se notó el hecho de pasar de CPU a una VGA. Recordando que estamos jugando a 1680×1050 con filtros activados y detalles al máximo.

Resultados: GeForce 9600GT + 9600GSO (fisicas)

Para este caso no quisimos correr 3DMark Vantage debido a que ocurre lo que sabemos, el puntaje sube y si agregamos otra tarjeta de video, que en este caso es similar a la principal (9600GT) no hay una mejora notoria. Mencionar además que para estas pruebas la resolución se configuró en 1440×900 con todos los detalles al máximo y los filtros explicados en cada juego.

No tenemos mucho que agregar, los graficos hablan por sí solos el hecho de pasar a utilizar nuestro GPU como elemento de cálculo de fisicas le brinda una mejor performance a la experiencia de juego lo cual agradecemos, si además le sumamos el hecho que podemos incorporar o añadir una segunda tarjeta de video dedicada exclusivamente a fisicas nuestra pobre VGA no se resiente tanto y puede trabajar de forma mas holgada cargando las instrucciones del juego.

Apreciaciones Finales

Hablar y comenzar diciendo que PhysX o las fisicas en los juegos son la panacea sería mentirles o mentirnos a nosotros mismos, si bien es cierto desde que apareció AGEIA en el mercado metiendo bulla con su PPU PhysX hasta ahora poca variedad de juegos han adquirido esa «utilidad» bueno recien este año AGEIA fué adquirida por NVIDIA un gigante en el tema de las tarjetas gráficas y con gran peso en el mercado de gamers y entusiastas quienes a pesar de tener el poder económico como para adquirir las escasas y costosas tarjetas PPU de AGEIA no lo hacían puesto que no resultaba en una ganancia notoria con respecto a jugar con o sin ella.

Pues bien ahora el escenario cambió y han aparecido algunos otros títulos nuevos con soporte para PhysX y quedan algunos otros por llegar, tomando en cuenta la ventaja que ofrece NVIDIA de soportar PhysX de forma nativa en sus GPUs el mercado dejó de ser de unos cuantos miles a unos cuantos millones con lo que los desarrolladores de juegos posiblemente tomen mas en serio esto «de las fisicas» y saquen mas provecho de ello.

Sobre si es beneficioso o no eso lo puede evaluar cada uno por si mismo, ya que hasta el momento muy pocos juegos toman provecho de esta tecnología e invertir en una tarjeta extra o en una VGA potente solamente para liberar a nuestro CPU de un calculo que incrementa el nivel de explosiones o hace que las cosas caigan o se destruyan «mas bonito» es un tema estético que a muchos les puede parecer importante a la hora de jugar. Otra cosa que se puede tornar a favor o en contra es la posibilidad de utilizar otra tarjeta de video GeForce dedicada solamente para el calculo de las fisicas dejando a tu tarjeta principal netamente para que trabaje cargando y calculando las instrucciones del juego de forma normal, decimos en contra mas que nada por el costo de tener otra tarjeta de video extra funcionando.

Sin embargo no podemos obviar que esto es solamente una jugada de uno de los participantes del mercado, ya que hay que esperar a que dice AMD e INTEL en este ámbito, AMD sabemos que se irá por Havok para el tema de las físicas e Intel también, por lo que la pelea será dura para NVIDIA y PhysX. Otra cosa es que DirectX 11 se lanzará dentro de 1 año a lo mucho e incluirá un nuevo Shader denominado Compute Shader lo cual significará que se facilitará y aprovechará de mejor manera el cálculo en los Shaders de las VGAs por lo que posiblemente los desarrolladores de juegos piensen a futuro y desarrollen en base a esa nueva utilidad programando el calculo de fisicas en los Shaders gracias al Compute Shaders y no en base a la API de NVIDIA.

Se viene pesado el terreno para NVIDIA y su PhysX, al menos tienen tiempo para hacerlo un estandar y esperar a que muchos desarrolladores de juegos importantes le tomen el peso y lo incluyan en sus juegos de manera que finalmente tengamos algo definido y no una eterna promesa.

Related posts

NVIDIA RTX Remix se actualiza a DLSS 3.5 con reconstrucción de rayos

Los desafíos de la computación cuántica y su impacto en Chile

Samsung presentó en Chile sus nuevos televisores con Inteligencia Artificial

22 Comment

Nelson Jose 16 abril, 2009 - 06:58

Hola Amigos Tengo Una 8800gts 512 y me baje los drivers 182.50 Y PhysX_9.09.0203 Y Tambien El
Nvidea System Tools 6.03 Para ver si Se Lo puedo Instalar A Esta Tarjeta Necesito Ayuda Mi Correo Es njtitopuente@hotmail.com

Mario Rübke 15 agosto, 2009 - 21:39

Hola, por lo general al instalar los drivers, PhysX viene activado por defecto, de todas formas abres el panel de control de nvidia y revisas (hay un menu dedicado a physx)

rendar 12 abril, 2009 - 15:57

Me podrian proporcionar algun link para ver como se hace la intalacion y la configuracion, me gustaria intentar a ver que tal me va. muy buen articulo.

Mario Rübke 15 agosto, 2009 - 21:41

la instalacion es la misma que la de cualquier driver, la configuracion depende del modo que tengas (1 tarjeta, 2 tarjetas, etc) Todo eso lo ves en tu panel de control de nvidia en el menu PhysX.

Saludos

angel 16 septiembre, 2008 - 13:36

Francamente con lo que e visto hasta ahora no esto de physx a mi en la 8800gts g92 512 el ghost rencon 2 corre pesimo unos 50 a 30fps con bajones dependienfo de la zona del mapa sera nejor q pulan esos driver o que en futuras versiones o nuevos GPU agregen un chip especializado para que haga esta funcion de calculos de fisica por el rendimiento ahoramismo no es bueno y comprar otra grafica pa eso no lo vale por para acabar no hay muchos juegos buenos que soporte Ageia.

Marioace 14 septiembre, 2008 - 11:19

@ROGO: lo puedes chequear en tu panel de control haciendo click en el icono de NVPhysX o en tu MENU INICIO->NVIDIA PhysX

MadBox 12 septiembre, 2008 - 18:07

Gracias a ti.

rogo 12 septiembre, 2008 - 18:05

Hola,

Tengo instalados los drivers 177.92 que por lo que entiendo ya incluyen PhysX. Tengo una Gforce8800GTS. ¿Alguien sabe como habilitar/deshabilitar el PhysX? ¿cómo se si esta activado?.

Saludos.

zero 4 septiembre, 2008 - 11:15

Marioace, gracias por la respuesta ahora me quedo mas claro el tema. Saludos y muchas gracias.

Marioace 4 septiembre, 2008 - 10:27

@ZERO: NO, no se quema la tarjeta, sino que si activas PhysX con esa tarjeta los juegos te van a correr mas lento que si no lo activas porque el core que tiene esa tarjeta es muy pajero para correr PhysX+Juegos a la vez.

Zero 4 septiembre, 2008 - 10:24

Marioace, entonces me dices que no es recomendable la instalacion solamente por el core? por que en la pagina de nvidia aparece que mi tarjeta es compatible pero de 512 mb y no la de 256, creo. De todas maneras si llegase a instalarlos se podria quemar la tarjeta de video?

Marioace 3 septiembre, 2008 - 20:49

@ZERO: Los drivers (Forceware 177.83 o posteriores) corresponden a los drivers para tu tarjeta de video (GeForce 8600GT) e incluye los drivers de AGEIA (para PhysX). La ganancia de rendimiento que pudieses llegar a tener puede que sea minima. Debido a que posees una 8600GT, NO es recomendable que habilites PhysX en tu GPU porque la «matarás» ya que el core no es lo suficientemente poderoso como para procesar las texturas y además calcular Fisicas (en los juegos que lo soportan)

Sobre si es necesario desinstalar los antiguos, obviamente que es necesario 😉 Porque en este caso estas instalando «un paquete».

Zero 3 septiembre, 2008 - 16:19

A mi me gustaria saber si puedo instalar los driver nuevos de nvidia (the Force Within) en mi pc, tengo solamente una grafica, es una Gforce 8600 gt 512 MB y si al instalarlo tendre algun cambio en el rendimiento o en las graficas, la verdad es que recien ahora estoy leyendo esto y todavia no entiendo mucho del tema de AGEIA, se que el Gost Recon 2 trae esta opcion por que lo tengo instalado, pero mas aya de eso desconozco. Ademas si puedo instalar estos drivers en el pc es necesario desinstalar los antiguos de mi tarjeta o son drivers completamente distintos?

Jose Pablo 28 agosto, 2008 - 23:11

Me gustaria saber que pasaria si las dos tarjetas compartieran a medias las graficas y las fisicas, con las configuraciones que ya hicieron, y tambien probando con 2 GTX 260, una dedidaca como GPU y la otra PPU, y en configuracion compartida tambien, me gustaria ver esos graficos, saludos!!

Marioace 26 agosto, 2008 - 16:46

@NOIR: con CUDA puedes correr aplicaciones desarrolladas para CUDA en tu GPU, por ello aseguran mejoran el rendimiento en gran medida a que si fueran ejecutadas en el CPU.

NO SIGNIFICA que porque tengas instalado los drivers de CUDA o tu tarjeta soporte CUDA, las aplicaciones «normales» correran mas rapido.

Noir 26 agosto, 2008 - 16:38

Utilizando CUDA hay mayor desempeño en otras aplicaciones aparte de juegos como renders, edicion de video o fotográfica? O es simplemente blabla del depto de marketing?

Marioace 26 agosto, 2008 - 15:43

@BJ: vamos a probar 😉 aunque no creo que exista mejora alguna pero de todas formas haremos la prueba, gracias por el comentario

saludos

BJ 26 agosto, 2008 - 15:03

Me parece bueno. Me hubiese gustado eso si que hubiesen agregado algunos ejemplos de juegos no optimizados para PhysX (como la gran mayoría), para revisar si existe alguna diferencia entre las configuraciones. Saludos

MadBox 26 agosto, 2008 - 10:32

para mitigar toda duda.

predator30 25 agosto, 2008 - 23:21

Muy bueno Mario el informe. Para mi la verdad la ayuda q hace una vga dedicada a la fisica es indiscutible. Lo q si para mi el efecto visual de la fisica en los juegos es muy poco notorio. Lo veo como comparar Dx9 con 10 mas o menos. No me «calienta» mucho el tema de la fisica en estos momentos la verdad. Bueno alguien puede decir todo lo contrario a lo q digo y esa es la idea…debatir el tema acerca del excelente articulo

Hombre Pipa 25 agosto, 2008 - 21:10

Interesante lo de las físicas y todo eso. Apoyo lo que dice coleon, quizás sería mucho mejor integrar un chip de físicas dentro del mismo PCB de una tarjeta. Y si pasa lo que podría pasar con DX11, se le va a poner fea la cosa a Nvidia.

coleon 25 agosto, 2008 - 20:39

Interesante, no sabía que funcionaba así el sistema..
Muy explicativo.

Yo creo que por el momento este no es el camino a seguir.
Comprar otra tarjeta para realizar el cálculo de las físicas es muy «caro» si consideramos que se necesita una fuente de poder que pueda suplir este incremento de energía y la «ganancia» en términos técnicos no es mucha.

Quizás si integraran algunos procesadores dedicados EN la misma tarjeta de video, podría ser más interesante.

Y es verdad lo que se dice al final. Hay que esperar la movida de AMD e Intel que optaron por HAVOK, que ya cuenta con el apoyo de BLIZZARD, ni más ni menos.

Add Comment