stringtranslate.com

PhysX

Una tarjeta BFG Physx

PhysX es un SDK de middleware de motor de física en tiempo real de código abierto [1] desarrollado por Nvidia como parte del paquete de software Nvidia GameWorks .

Inicialmente, los videojuegos compatibles con PhysX debían ser acelerados por PhysX PPU ( tarjetas de expansión diseñadas por Ageia ). Sin embargo, después de la adquisición de Ageia por parte de Nvidia, las tarjetas PhysX dedicadas se descontinuaron a favor de que la API se ejecute en GPU GeForce habilitadas para CUDA . En ambos casos, la aceleración de hardware permitió descargar cálculos físicos de la CPU , permitiéndole realizar otras tareas.

PhysX y otros motores de física de middleware se utilizan hoy en día en muchos videojuegos porque liberan a los desarrolladores de juegos de tener que escribir su propio código que implementa mecánicas clásicas (física newtoniana) para realizar, por ejemplo, dinámicas de cuerpos blandos . [2]

Historia

Lo que hoy se conoce como PhysX se originó como un motor de simulación de física llamado NovodeX. El motor fue desarrollado por la empresa suiza NovodeX AG, una filial de ETH Zurich . [3] En 2004, Ageia adquirió NovodeX AG y comenzó a desarrollar una tecnología de hardware que podía acelerar los cálculos físicos, ayudando a la CPU. Ageia llamó a la tecnología PhysX, el SDK pasó de NovodeX a PhysX y las tarjetas aceleradoras se denominaron PPU (Unidades de procesamiento de física). [4]

En su implementación, el primer videojuego que utiliza la tecnología PhysX es The Stalin Subway , lanzado en tiendas de juegos exclusivas de Rusia en septiembre de 2005. [5]

En 2008, Ageia fue adquirida por el fabricante de tecnología gráfica Nvidia. [6] Nvidia comenzó a habilitar la aceleración de hardware PhysX en su línea de tarjetas gráficas GeForce [7] y finalmente dejó de admitir las PPU Ageia. [8]

PhysX SDK 3.0 se lanzó en mayo de 2011 y representó una reescritura significativa del SDK, aportando mejoras como un subproceso múltiple más eficiente y una base de código unificada para todas las plataformas compatibles. [2]

En GDC 2015 , Nvidia puso a disposición el código fuente de PhysX en GitHub , pero requirió registro en desarrollador.nvidia.com. [9] El SDK propietario se proporcionó a los desarrolladores de forma gratuita para uso comercial y no comercial en plataformas Windows , Linux , macOS , iOS y Android . [10]

El 3 de diciembre de 2018, PhysX se convirtió en código abierto bajo una licencia BSD de 3 cláusulas , pero este cambio se aplicó solo a plataformas informáticas y móviles. [11]

El 8 de noviembre de 2022, la versión de código abierto se actualizó a PhysX 5, bajo la misma licencia BSD de 3 cláusulas . [12]

Características

El motor PhysX y el SDK están disponibles para Microsoft Windows, macOS, Linux, [11] PlayStation 3 , [13] [14] PlayStation 4 , [15] Xbox 360 , [16] Xbox One , [17] Wii , [18] iOS y Android. [11]

PhysX es un SDK de simulación de física multiproceso. Admite dinámica de cuerpo rígido , dinámica de cuerpo blando (como simulación de tela , incluida tela presurizada y desgarrada), muñecos de trapo y controladores de personajes, dinámica de vehículos , partículas y simulación de fluidos volumétricos .

Aceleracion de hardware

Comparación de niveles de física en Mafia II.
(PC) La captura de pantalla superior muestra cómo se simulan los escombros en Mafia II cuando PhysX se activa al nivel más alto en la configuración del juego. La captura de pantalla inferior muestra una escena similar con PhysX al nivel más bajo.

PUP

Una unidad de procesamiento de física (PPU) es un procesador especialmente diseñado para aliviar la carga de cálculo de la CPU, específicamente los cálculos que involucran física. Las PPU PhysX fueron ofrecidas a los consumidores en forma de tarjetas PCI o PCIe por ASUS , [19] BFG Technologies , [20] [21] Dell [22] y ELSA Technology . [23]

A partir de la versión 2.8.3 del SDK de PhysX, se eliminó la compatibilidad con tarjetas PPU y ya no se fabrican tarjetas PPU. [8] La última encarnación de la tarjeta independiente PhysX PPU diseñada por Ageia tenía aproximadamente el mismo rendimiento PhysX que una 9800GTX dedicada . [24]

GPU

Después de la adquisición de Ageia por parte de Nvidia, el desarrollo de PhysX se alejó de las tarjetas de expansión PPU y se centró en las capacidades GPGPU de las GPU modernas.

Las GPU modernas son muy eficientes para manipular y mostrar gráficos de computadora, y su estructura altamente paralela las hace más efectivas que las CPU de uso general para acelerar simulaciones físicas usando PhysX.

Cualquier tarjeta gráfica GeForce preparada para CUDA (GPU de la serie 8 o posterior con un mínimo de 32 núcleos y un mínimo de 256 MB de memoria gráfica dedicada [25] ) puede aprovechar PhysX sin la necesidad de instalar una tarjeta PhysX dedicada.

APÉNDICE

La tecnología Nvidia APEX es un marco dinámico escalable multiplataforma creado en torno al SDK de PhysX. Se introdujo por primera vez en Mafia II en agosto de 2010. [26] APEX de Nvidia comprende los siguientes módulos: APEX Destruction, APEX Clothing, APEX Particles, APEX Turbulence, APEX ForceField y anteriormente APEX Vegetation, que se suspendió en 2011. [27] [28 ]

A partir de la versión 1.4.1, APEX SDK está en desuso. [29]

Nvidia FleX

FleX es una técnica de simulación basada en partículas para efectos visuales en tiempo real . Tradicionalmente, los efectos visuales se crean usando una combinación de elementos creados usando solucionadores especializados para cuerpos rígidos , fluidos, ropa, etc. Debido a que FleX usa una representación de partículas unificada para todos los tipos de objetos, permite nuevos efectos donde diferentes sustancias simuladas pueden interactuar entre sí. sin problemas. Estos solucionadores de física unificada son un elemento básico del mundo de los gráficos por computadora fuera de línea , donde herramientas como nCloth de Autodesk Maya y Lagoa de Softimage se utilizan ampliamente. El objetivo de FleX es utilizar el poder de las GPU para llevar las capacidades de estas aplicaciones fuera de línea a gráficos por computadora en tiempo real. [30]

Críticas de tecnologías del mundo real

El 5 de julio de 2010, Real World Technologies publicó un análisis [31] de la arquitectura PhysX. Según este análisis, la mayor parte del código utilizado en las aplicaciones PhysX en ese momento se basaba en instrucciones x87 sin ninguna optimización multiproceso . Esto podría provocar caídas significativas en el rendimiento al ejecutar código PhysX en la CPU. El artículo sugirió que una reescritura de PhysX utilizando instrucciones SSE puede reducir sustancialmente la discrepancia de rendimiento entre CPU PhysX y GPU PhysX.

En respuesta al análisis de Real World Technologies, Mike Skolones, gerente de producto de PhysX, dijo [32] que el soporte SSE se había quedado atrás porque la mayoría de los juegos se desarrollan primero para consolas y luego se trasladan a la PC. Como resultado, las computadoras modernas ejecutan estos juegos más rápido y mejor que las consolas, incluso con poca o ninguna optimización. El gerente senior de relaciones públicas de Nvidia, Bryan Del Rizzo, explicó que el multiproceso ya estaba disponible con CPU PhysX 2.x y que dependía del desarrollador utilizarlo. También afirmó que el multihilo automático y el SSE se introducirían con la versión 3 del SDK de PhysX. [33]

PhysX SDK 3.0 se lanzó en mayo de 2011 y representó una reescritura significativa del SDK, aportando mejoras como un subproceso múltiple más eficiente y una base de código unificada para todas las plataformas compatibles. [2]

Uso

PhysX en los videojuegos

La tecnología PhysX es utilizada por motores de juegos como Unreal Engine (versión 3 en adelante), Unity , Gamebryo , Vision (versión 6 en adelante), Instinct Engine, [34] Panda3D , Diesel , Torque , HeroEngine y BigWorld . [25]

Como uno de los pocos motores de física importantes, se utiliza en muchos juegos, como The Witcher 3: Wild Hunt , Warframe , Killing Floor 2 , Fallout 4 , Batman: Arkham Knight , Planetside 2 y Borderlands 2 . La mayoría de estos juegos utilizan la CPU para procesar las simulaciones físicas.

Los videojuegos con soporte opcional para PhysX acelerado por hardware a menudo incluyen efectos adicionales como tela que se puede rasgar, humo dinámico o partículas simuladas. [35] [36] [37]

PhysX en otro software

Otro software compatible con PhysX incluye:

Ver también

Referencias

  1. ^ "NVIDIA PhysX SDK 4.1". Engadget . Consultado el 5 de abril de 2022 .
  2. ^ abc "NVIDIA anuncia el lanzamiento de PhysX SDK V3". NVIDIA . Archivado desde el original el 24 de mayo de 2011 . Consultado el 3 de junio de 2011 .
  3. ^ "NovodeX". ETH Zúrich . Archivado desde el original el 8 de enero de 2018 . Consultado el 4 de diciembre de 2018 .
  4. César A. Berardini (12 de abril de 2005). "Entrevista sobre Tecnologías AGEIA". Archivado desde el original el 21 de septiembre de 2011 . Consultado el 8 de junio de 2011 .
  5. ^ "Motor de física: PhysX". MobyJuegos . Consultado el 6 de septiembre de 2023 .
  6. ^ "NVIDIA completa la adquisición de AGEIA Technologies" (Presione soltar). Corporación NVIDIA. 13 de febrero de 2008 . Consultado el 18 de marzo de 2009 .
  7. ^ "PhysX para CUDA, ¿es compatible con Linux?". Forónix . Medios Phoronix. 14 de febrero de 2008 . Consultado el 14 de febrero de 2008 .
  8. ^ ab "Cómo restaurar la compatibilidad con PPU con los controladores PhysX más recientes | PhysXInfo.com - PhysX News". PhysXInfo.com. 17 de enero de 2011. Archivado desde el original el 24 de noviembre de 2011 . Consultado el 30 de noviembre de 2011 .
  9. ^ "PhysX en GitHub". NVIDIA . Consultado el 6 de marzo de 2015 .
  10. ^ "PhysX SDK a partir del 7 de enero de 2017". NVIDIA . Archivado desde el original el 7 de enero de 2017 . Consultado el 3 de septiembre de 2017 .
  11. ^ a b "PhysX SDK". Desarrollador NVIDIA . 28 de noviembre de 2018. Archivado desde el original el 5 de diciembre de 2018 . Consultado el 5 de diciembre de 2018 .
  12. ^ "La simulación de código abierto se expande con la versión NVIDIA PhysX 5". NVIDIA . 8 de noviembre de 2022. Archivado desde el original el 28 de mayo de 2023 . Consultado el 15 de junio de 2023 .
  13. ^ "Sony Computer Entertainment celebra un acuerdo de licencia estratégica con AGEIA" (PDF) (Presione soltar). Sony Computer Entertainment, Inc. 21 de julio de 2005. Archivado desde el original (PDF) el 11 de marzo de 2006 . Consultado el 23 de agosto de 2006 .
  14. ^ "Playstation 3 obtiene PhysX gratis de Nvidia". Kotaku. 18 de marzo de 2009.
  15. ^ Lowe, Scott (7 de marzo de 2013). "Nvidia anuncia compatibilidad con PhysX para PlayStation 4".
  16. ^ "PhysX - Descripción general - GeForce". Nvidia.com. Archivado desde el original el 29 de abril de 2009 . Consultado el 30 de noviembre de 2011 .
  17. ^ "NVIDIA anuncia compatibilidad con PhysX para la consola de juegos Microsoft Xbox One". Nvidia.com. Archivado desde el original el 9 de noviembre de 2014 . Consultado el 9 de noviembre de 2014 .
  18. ^ "Noticias - Pre-GDC: Nvidia PhysX aprobada para desarrolladores de Wii". Gamasutra. 19 de marzo de 2009 . Consultado el 30 de noviembre de 2011 .
  19. ^ "Revisión/Vista previa de la tarjeta Asus 128 MB PhysX". 12 de julio de 2006.
  20. ^ "AGEIA y BFG Technologies firman un acuerdo de distribución minorista". Archivado desde el original el 26 de abril de 2006.
  21. ^ "Revisión de la tarjeta BFG Ageia PhysX". 1 de octubre de 2007.
  22. ^ "AGEIA PhysX - tarjeta gráfica - AGEIA PhysX - Especificaciones de 128 MB". Cnet.
  23. ^ "ELSA se asocia con Ageia".
  24. ^ "Artículos en inglés de PC Games Hardware". www.pcgameshardware.com . 26 de enero de 2009.
  25. ^ ab "Preguntas frecuentes sobre PhysX". Nvidia.com . Consultado el 10 de diciembre de 2015 .
  26. ^ Olin Coles. "Revisión del rendimiento del videojuego Mafia-II". BenchmarkReviews.com . Consultado el 23 de agosto de 2010 .
  27. ^ "ÁPICE" . Consultado el 8 de junio de 2011 .
  28. ^ "Categoría: APEX - PhysX Wiki". PhysXInfo.com . Consultado el 21 de julio de 2013 .
  29. ^ "APEX 1.4.1 - Notas de la versión (APEX ha quedado obsoleto)". gameworksdocs.nvidia.com . Consultado el 5 de diciembre de 2018 .
  30. ^ "NVIDIA Flex". Desarrollador NVIDIA . 13 de agosto de 2015 . Consultado el 17 de abril de 2019 .
  31. ^ "PhysX87: deficiencia de software". www.realworldtech.com .
  32. ^ Stokes, Jon (8 de julio de 2010). "¿NVIDIA paralizó su biblioteca de física de juegos de CPU para fastidiar a Intel?". Arstechnica.com . Consultado el 30 de noviembre de 2011 .
  33. ^ "Nvidia: no estamos obstaculizando la CPU PhysX | Thinq_ | Página 1". Thinq.co.uk . Consultado el 30 de noviembre de 2011 .
  34. ^ "Software Instinct: SDK de motor Instinct". Instinctengine.com. Archivado desde el original el 13 de febrero de 2015 . Consultado el 4 de octubre de 2013 .
  35. ^ Matt Butrovich (12 de febrero de 2009). "Una mirada a PhysX en Mirror's Edge". El informe técnico . Consultado el 6 de abril de 2011 .
  36. ^ Rich Brown (21 de septiembre de 2009). "PhysX de Nvidia hace que valga la pena esperar en PC Batman: Arkham Asylum". cNET.com . Consultado el 6 de abril de 2011 .
  37. ^ Matthew Murray (2 de septiembre de 2010). "Mafia II: ¿Vale la pena Applied PhysX?". Tecnología extrema . Archivado desde el original el 30 de diciembre de 2010 . Consultado el 6 de abril de 2011 .
  38. ^ "PhysX - Guía del usuario de Lumberyard". Archivado desde el original el 22 de septiembre de 2020 . Consultado el 15 de abril de 2020 .
  39. ^ Jim Thacker (1 de marzo de 2011). "Vídeos: Autodesk revela nuevas funciones en Maya 2012". cgchannel.com . Consultado el 6 de abril de 2011 .
  40. ^ "3ds Max 2012 y Maya 2012 agregan compatibilidad con PhysX". Beyond3D.com. 1 de marzo de 2011. Archivado desde el original el 8 de julio de 2017 . Consultado el 6 de abril de 2011 .
  41. ^ Randall Hand (5 de mayo de 2010). "NVidia PhysX y CUDA en Softimage 2011". Vizworld.com . Consultado el 6 de abril de 2011 .
  42. ^ "Los creadores del juego integran la tecnología AGEIA PhysX en DarkBASIC Professional" (Presione soltar). Los creadores del juego. 22 de marzo de 2006. Archivado desde el original el 27 de abril de 2006 . Consultado el 23 de septiembre de 2006 .
  43. ^ "Descripción general". Estudio DX . Tejedor de mundos. Archivado desde el original el 5 de julio de 2009 . Consultado el 2 de noviembre de 2008 .
  44. ^ "AGEIA se une al programa de desarrollo de referencia 3DMark de Futuremark". Buscar artículos . CBS interactivo. BusinessWire . 27 de septiembre de 2006 . Consultado el 3 de noviembre de 2008 .
  45. ^ "Descripción general de la simulación". Centro de desarrolladores de robótica de Microsoft . Microsoft. Marzo de 2012.
  46. ^ Boeing, Adrián. "Motores". Capa de abstracción física . Consultado el 18 de noviembre de 2007 .
  47. ^ Pierre-Terdiman (22 de marzo de 2019), GitHub - Pierre-Terdiman/PEEL: Laboratorio de evaluación de motores de física. , consultado el 22 de marzo de 2019
  48. ^ "Vista previa de Unreal Engine 4.26". 24 de septiembre de 2020.
  49. ^ "Unity - Manual: Física".

enlaces externos