Physx 3.0

bueno,sé que juegos como Darksiders utilizan physx aunque yo tenga una AMD y he visto esta noticia http://www.madboxpc.com/e3-2011-nvidia- ... mergentes/ y quisiera saber para que sirven,si merece la pena buscarlos y ponerlos,o esperar a que algun juego lo traiga para ponerlo..
Arkana18 escribió:bueno,sé que juegos como Darksiders utilizan physx aunque yo tenga una AMD y he visto esta noticia http://www.madboxpc.com/e3-2011-nvidia- ... mergentes/ y quisiera saber para que sirven,si merece la pena buscarlos y ponerlos,o esperar a que algun juego lo traiga para ponerlo..

la verdad que es una buena noticia, no se donde descargar esa physx
Physx es de nvidia, de las tarjetas gráficas, da igual el procesador que tengas, pero claro, si tienes una Ati, no puedes usar physx, es la "pega" que tienen
no es ese tipo de physx...es que tampoco sé explicarlo muy bien,pero por ejemplo el darksiders no puedes jugar si no pones los physx que trae,da igual la tarjeta gráfica que tengas.
Es que se puede calcular mediante CPU o acelerado por GPGPU. Mira:

PhysX 3.0 is available for all major gaming platforms, including PC, Xbox360™, PLAYSTATION®3, OSX, Linux and Android. PhysX 3.0 is designed to run on a variety of CPU architectures. Performance can be accelerated by any CUDA™-enabled NVIDIA GPU – including any GeForce 8-series or higher graphics card.


http://blogs.nvidia.com/2011/06/nvidia- ... platforms/

Si tienes GPU NVIDIA = GPGPU.
Si no = CPU.

La noticia es que precisamente PhysX 3 funcionará no sólo en x86, o eso entiendo yo.
A ver, PhysX no es más que un engine para el cálculo de físicas, al igual que por ejemplo Havok. El tema es que las desarrolladoras de juegos pueden decidir como usarlo, si permitiendo hacer los calculos por PPU/GPU/CPU o solo por CPU. Por eso la mayoría de los juegos que usan PhysX no aprovechan ni las GPUs ni las PPUs.

La noticia en si lo único que dice es que va a seguir siendo como ha sido hasta ahora en temas de compatibilidad y que además incorporará algunas novedades bastante interesantes.

Hasta hace nada los dos engines de fisicas más importantes eran Havok y PhysX, pero últimamente creo que Havok está perdiendo bastante "fuelle". Sobretodo, después de ver que Havok FX (versión del engine para calculo de fisicas usando cualquier GPU, ya sea ATI o Nvidia) no ha llegado a comercializarse.

Ahora el motor que está poco a poco consiguiendo notoriedad es Bullet. De código abierto y en breve totalmente compatible con OpenCL y DirectCompute (es decir, acelerado por GPU). Ya lo usan unos cuantos juegos comerciales, 3DMark 11 y unas cuantas pelis de animación.
entonces...no merece la pena bajarlo y ponerlo por el aumento de rendimiento que se pueda tener no?
Arkana18 escribió:entonces...no merece la pena bajarlo y ponerlo por el aumento de rendimiento que se pueda tener no?


El posible aumento de rendimiento no dependerá de ti o de tu PC, si no de que los desarrolladores adopten la nueva versión del SDK. Esto es algo parecido al DirectX... Si tu instalas las librerías DirectX 11 (10 o 10.1) y el juego está programado para DirectX 9 no obtendrás beneficio alguno.

El dia que salga un juego que use PhysX 3.0 tranquilo que incorporará las nuevas librerías necesarias para funcionar correctamente.
Pues sí que parece que hay lío con el tema.

Las novedades vienen a ser que se ha reescrito desde cero, saltándose el código fuente original de AGEIA. Así promete mejoras en rendimiento gracias a la mejora del multihilo (lo que debería elevar substancialmente el rendimiento sobre CPU), la gestión de la memoria y el uso de streaming.

También el soporte a sistemas android, supuestamente con micros ARM. En consolas ya existía el soporte desde el día 1.

Lo que se ofrece ahora es el SDK. Esto es, las herramientas para desarrolladores. Esto a los usuarios no nos sirve para nada. Cualquier tipo de mejora para juegos presentes o futuros seguirán viniendo de parte de los drivers de toda la vida.

A partir de ahí, prácticamente cualquier máquina soporta Physx, pero sólo las gráficas NVIDIA de 8800 en adelante soportan aceleración por GPU.

Pongamos el futuro Mafia III. Tanto si tienes un micro Intel/AMD con gráfica ATI, como PS3/360 podrás jugar al juego sin problemas. Si además tienes una NVIDIA pues podrás aumentar el rendimiento usando la gráfica como quién usa la gráfica para descodificar vídeo o Flash.

La cosa se pondrá interesante cuando podamos comparar el desempeño de monstruos como los SandyBridge o los Gulftown de 6 núcleos contra la aceleración por GPU. Veremos si por fin se pueden aprovechar las CPUs con chorrocientos hilos para descargar a la gráfica.
totá...que no se baja y no se pone...es que pensé que tendria algun efecto sobre los pc´s en juegos que ya estan (vease Darksiders)
dr apocalipsis escribió:La cosa se pondrá interesante cuando podamos comparar el desempeño de monstruos como los SandyBridge o los Gulftown de 6 núcleos contra la aceleración por GPU. Veremos si por fin se pueden aprovechar las CPUs con chorrocientos hilos para descargar a la gráfica.


Actualmente se sabe que Nvidia hace que PhysX funcione peor trabajando en CPU de lo que debería, así que dudo que esto ocurra. Hace un tiempo salieron unas noticias y un estudio que decían que si PhysX aprovechara las instrucciones SSE sería hasta 4 veces más rápido en CPUs (y eso sin tener en cuenta que hasta ahora no aprovechaba varios núcleos).

Si PhysX aprovechara las nuevas instrucciones AVX casi ni tendría sentido tener una GPU dedicada exclusivamente al calculo de físicas. El tema es, ¿Le interesará a Nvidia fomentar el uso de las CPUs para el calculo de físicas? Lo dudo bastante...

A dia de hoy creo que PhysX no va por el buen camino. Creo que Bullet poco a poco se sacará de en medio a PhysX.
Ya estamos con los mitos y las leyendas.

Physx no usaba anteriormente las SSE porque en consola no existen esas instrucciones. Physx viene de AGEIA, que presentó una solución dedicada para el tema de las físicas. NVIDIA la compra y lo adapta a sus gráficas. Por tanto no era un software pensado para ser ejecutado en CPU.

Con esta versión 3.0 lo que se pretende es poder paralelizar correctamente en CPU's multihilo. Con la versión 2.0 había una pobre implementación multihilo opcional que pocos desarrolladores usaban. Para ello han tenido que reescribir el SDK desde cero.

A NVIDIA le conviene, y mucho, que Physx se estandarice en todas las plataformas posibles. A partir de ahí contar con una NVIDIA será un valor añadido, pero no imprescindible para ejecutar dichos programas. Sería un modo de crear una falsa sensación de superioridad sobre las tarjetas ATI. Una ATI no tendría problema en ejecutar Physx, pero claro, NVIDIA no es tonta.

Decir que Physx no va por buen camino con las novedades de esta nueva revisión es, cuando menos, poco acertado. Estos en 2 días tienen programas ejecutándose hasta en los móviles, donde NVIDIA tiene la plataforma TEGRA. Hasta ahora las únicas físicas que se han visto en móviles han sido las del Angry Birds :P

Pero al final ya se sabe lo que pasa, triunfa la tecnología que logre los mejores apoyos, no la mejor.

Y, por cierto, yo a Havok lo veo bastante saludable actualmente a tenor de los títulos lanzados:

http://en.wikipedia.org/wiki/Havok_(software)

Un saludo.
dr apocalipsis escribió:Ya estamos con los mitos y las leyendas.

Physx no usaba anteriormente las SSE porque en consola no existen esas instrucciones. Physx viene de AGEIA, que presentó una solución dedicada para el tema de las físicas. NVIDIA la compra y lo adapta a sus gráficas. Por tanto no era un software pensado para ser ejecutado en CPU.


Que PhysX no usa (por que aunque exista la versión del SDK 3.0, todo lo que existe hasta ahora no lo hace) instrucciones SSE ni es un mito, ni es una leyenda, es un hecho. ¿Que según Nvidia no se usa por que en consolas no existen las instrucciones SSE? Pues a mi me da (y no solo a mi...) que no es más que una estrategia para intentar vender el cuento chino de la necesidad de tener una GPU/PPU encargándose de esa tarea.

dr apocalipsis escribió:A NVIDIA le conviene, y mucho, que Physx se estandarice en todas las plataformas posibles. A partir de ahí contar con una NVIDIA será un valor añadido, pero no imprescindible para ejecutar dichos programas. Sería un modo de crear una falsa sensación de superioridad sobre las tarjetas ATI. Una ATI no tendría problema en ejecutar Physx, pero claro, NVIDIA no es tonta.


Que le interesa estandarizarlo está claro, lo que no le interesa es que funcione igual (o casi igual) de bien en una CPU que en una GPU de la marca Nvidia.

dr apocalipsis escribió:Decir que Physx no va por buen camino con las novedades de esta nueva revisión es, cuando menos, poco acertado. Estos en 2 días tienen programas ejecutándose hasta en los móviles, donde NVIDIA tiene la plataforma TEGRA. Hasta ahora las únicas físicas que se han visto en móviles han sido las del Angry Birds :P


Digo que PhysX no va por el buen camino no en cuanto a las novedades, que obviamente son bienvenidas, si no por que es un motor cerrado y que para explotarlo al 100% está limitado a Nvidia. Solo por esa razón, ya me resultan más interesantes otras alternativas.

dr apocalipsis escribió:Pero al final ya se sabe lo que pasa, triunfa la tecnología que logre los mejores apoyos, no la mejor.


Eso es así y siempre será así XD

dr apocalipsis escribió:Y, por cierto, yo a Havok lo veo bastante saludable actualmente a tenor de los títulos lanzados:

http://en.wikipedia.org/wiki/Havok_(software)

Un saludo.


Havok hace tiempo que empezó a bajar la cuota de mercado. Empezó muy fuerte (aun recuerdo el HL2 cuando lo probé por primera vez...) y poco a poco ha ido decayendo. Siguen saliendo novedades que usan Havok (L.A. Noire la ultima novedad, creo), pero cada vez menos.
melkhior escribió:Que PhysX no usa (por que aunque exista la versión del SDK 3.0, todo lo que existe hasta ahora no lo hace) instrucciones SSE ni es un mito, ni es una leyenda, es un hecho. ¿Que según Nvidia no se usa por que en consolas no existen las instrucciones SSE? Pues a mi me da (y no solo a mi...) que no es más que una estrategia para intentar vender el cuento chino de la necesidad de tener una GPU/PPU encargándose de esa tarea.


La leyenda es atribuir la falta de soporte a las SSE al interés de NVIDIA. La falta de soporte inicial es debido a lo que he explicado antes. Physx era una solución de software basada en una solución de hardware:

Imagen

AGEIA no buscaba compatibilidad, vendían un hard cerrado. Con NVIDIA las cosas han cambiado. No venden una necesidad de tener una GPU NVIDIA, venden un ventaja.

Que le interesa estandarizarlo está claro, lo que no le interesa es que funcione igual (o casi igual) de bien en una CPU que en una GPU de la marca Nvidia.


Es que dudo bastante que nadie pueda hacer que una solución tan paralelizable como esa pueda competir igual en una CPU que en una GPU. Un Bulldozer de 8 cores tiene 4 FPUs. Un 2600K de 8 hilos lo mismo. Otra cosa es que puedan mejorar bastante el rendimiento actual, que es lo que se busca con esta versión 3.0.1.

Digo que PhysX no va por el buen camino no en cuanto a las novedades, que obviamente son bienvenidas, si no por que es un motor cerrado y que para explotarlo al 100% está limitado a Nvidia. Solo por esa razón, ya me resultan más interesantes otras alternativas.


El UNREAL ENGINE 3 también es un motor cerrado. Y el CRYENGINE 3, y el SOURCE, y el HAVOK y el FROSTBITE 2. No sé a donde quieres ir a parar.

Havok hace tiempo que empezó a bajar la cuota de mercado. Empezó muy fuerte (aun recuerdo el HL2 cuando lo probé por primera vez...) y poco a poco ha ido decayendo. Siguen saliendo novedades que usan Havok (L.A. Noire la ultima novedad, creo), pero cada vez menos.


VALVE lo sigue usando en SOURCE. PORTAL 2 es del mes pasado y lo usa. Los first de sony lo tienen casi todos. O hasta el HEDGEHOG ENGINE de SEGA XD.

Lo interesante no es que PHYSX 3.0 funcione mejor que otras alternativas sobre una GPU NVIDIA. Si quieren hacerlo competitivo tienen que conseguir que funcione primero mejor sin una GPU NVIDIA. Y después si dan todavía más ventaja de rendimiento sobre una GPU NVIDIA, pues conseguirán dar un valor añadido a su mercado de gráficas. Pero no antes.

Un saludo.
La leyenda es atribuir la falta de soporte a las SSE al interés de NVIDIA. La falta de soporte inicial es debido a lo que he explicado antes. Physx era una solución de software basada en una solución de hardware:

Imagen


AGEIA no buscaba compatibilidad, vendían un hard cerrado. Con NVIDIA las cosas han cambiado. No venden una necesidad de tener una GPU NVIDIA, venden un ventaja.


¿En tres años no les ha dado tiempo de optimizar PhysX para aprovechar instrucciones SSE? Y eso de que venden una ventaja... Por eso te "obligan" (se que se puede saltar la limitación) a tener una GPU Nvidia para poder dedicar otra a las fisicas...

Es que dudo bastante que nadie pueda hacer que una solución tan paralelizable como esa pueda competir igual en una CPU que en una GPU. Un Bulldozer de 8 cores tiene 4 FPUs. Un 2600K de 8 hilos lo mismo. Otra cosa es que puedan mejorar bastante el rendimiento actual, que es lo que se busca con esta versión 3.0.1.


No creo que sea una cuestión de hacerlo más "paralelizable" si no de aprovechar las instrucciones SSE (y AVX...).

El UNREAL ENGINE 3 también es un motor cerrado. Y el CRYENGINE 3, y el SOURCE, y el HAVOK y el FROSTBITE 2. No sé a donde quieres ir a parar.


Que yo sepa ninguno de esos motores gráficos o de físicas está "más o menos capado" según la marca del hardware.

VALVE lo sigue usando en SOURCE. PORTAL 2 es del mes pasado y lo usa.


Cierto, ya no me acordaba y eso que lo estoy jugando ahora [+risas]. Aun así, puedes mirar listas de juegos y ver como cada vez está más en desuso. Además, compañias como AMD, que "hasta hace dos dias" apoyaban incondicionalmente a Havok, ahora apoyan a Bullet.

Lo interesante no es que PHYSX 3.0 funcione mejor que otras alternativas sobre una GPU NVIDIA. Si quieren hacerlo competitivo tienen que conseguir que funcione primero mejor sin una GPU NVIDIA. Y después si dan todavía más ventaja de rendimiento sobre una GPU NVIDIA, pues conseguirán dar un valor añadido a su mercado de gráficas. Pero no antes.


Espero que así sea. Eso si, aun tienen que demostrar que será así.
melkhior escribió:¿En tres años no les ha dado tiempo de optimizar PhysX para aprovechar instrucciones SSE? Y eso de que venden una ventaja... Por eso te "obligan" (se que se puede saltar la limitación) a tener una GPU Nvidia para poder dedicar otra a las fisicas...


En 3 años que llevan con nosotros, las SSE 4.1 la siguen usando un par de programas de codificación. No puedes esperar que se estandarice el uso de unas instrucciones cuando AMD lleva un retraso brutal en la implementación de las mismas en sus micros.

De todos modos a ver si te piensas que un SDK como Physx se escribe en 2 días. Physx 3.0 es prácticamente un motor nuevo.

No creo que sea una cuestión de hacerlo más "paralelizable" si no de aprovechar las instrucciones SSE (y AVX...).


Que aprovechen las CPUs es algo muy deseable. Pero esperar que puedan competir con un monstruo como FERMI en estos aspectos es algo que está fuera de la realidad.

Que yo sepa ninguno de esos motores gráficos o de físicas está "más o menos capado" según la marca del hardware.


Es que Physx no está capado. Sólo ofrece aceleración GPU con NVIDIA, pero funciona sobre Intel o AMD (o PowerPC) indistintamente. Vamos, no esperarás que NVIDIA se curre una aceleración GPU para ATI.

Cierto, ya no me acordaba y eso que lo estoy jugando ahora [+risas]. Aun así, puedes mirar listas de juegos y ver como cada vez está más en desuso. Además, compañias como AMD, que "hasta hace dos dias" apoyaban incondicionalmente a Havok, ahora apoyan a Bullet.


AMD en estas cosas es de un perroflautismo que da vergüenza ajena. Antes apoyaban Havok porque no les cobraban royalties. Son los primeros en apuntarse a cualquier carro que les lleve gratis. Ahora, invertir en software que aproveche su hardware cero patatero. Con OpenCL lo mismo.

Lo interesante no es que PHYSX 3.0 funcione mejor que otras alternativas sobre una GPU NVIDIA. Si quieren hacerlo competitivo tienen que conseguir que funcione primero mejor sin una GPU NVIDIA. Y después si dan todavía más ventaja de rendimiento sobre una GPU NVIDIA, pues conseguirán dar un valor añadido a su mercado de gráficas. Pero no antes.


Espero que así sea. Eso si, aun tienen que demostrar que será así.


No tienen que demostrar nada que no tengan que demostrar Havok o Bullet. Se han visto en consolas juegos tanto con Physx como con Havok y Physx no se queda atrás. Aún sin esa aceleración por GPU. Incluso hay juegos de WII con uso de Physx.

Lo que criticas es como quejarse de que Flash proporcione aceleración por GPU porque tu gráfica no tenga soporte.
15 respuestas