Zum Inhalt springen

„PhysX“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Andreas86 (Diskussion | Beiträge)
K lf
 
(360 dazwischenliegende Versionen von mehr als 100 Benutzern, die nicht angezeigt werden)
Zeile 1: Zeile 1:
'''PhysX''' bezeichnet einen speziellen Prozessor ([[Physikbeschleuniger]] auch PPU) sowie die zugehörige [[Physik-Engine]] des Halbleiterherstellers [[Ageia]]. Aufgabe dieses Chips ist die Berechnung vorrangig physikalisch bedingter Effekte. In [[Computerspiel]]en oder [[Simulation]]ssoftware wird so der [[Hauptprozessor]] entlastet.


{{Infobox Software
== Funktion ==
|Name =
Angelehnt an die Funktionsweise von [[Hauptprozessor|CPU]]s oder [[Grafikprozessor|GPUs]] besteht die Aufgabe des PhysX Chips ausschließlich in der Berechnung des realistischen Verhaltens physischer Objekte.
|Logo = [[Datei:NVIDIA PhysX Logo.png|120px|Logo]]
|Screenshot =
|Beschreibung =
|Maintainer =
|Hersteller =
|Erscheinungsjahr =
|AktuelleVersion =
|AktuelleVersionFreigabeDatum =
|AktuelleVorabVersion =
|AktuelleVorabVersionFreigabeDatum =
|Betriebssystem = [[Microsoft Windows|Windows]], [[macOS]], [[Linux]] (ohne GPU-Beschleunigung),<br />[[Wii]], [[PlayStation 3]], [[Xbox 360]]
|Programmiersprache =
|Kategorie = [[Physik-Engine]]
|Lizenz =
|Deutsch =
|Website = [https://nvidia-omniverse.github.io/PhysX/ Offizielle Produkt-Website]
|Dateien =
}}


'''PhysX''' ist eine quelloffene [[Physik-Engine]] des Unternehmens [[Nvidia]]. PhysX verlagert die Berechnung physikalischer Effekte in [[Computerspiel]]en und [[Simulation]]ssoftware auf Grafikkarten der [[Nvidia Geforce|GeForce]]-Serie des Herstellers. So wird der [[Hauptprozessor]] vom Aufwand dieser Berechnungen mit dem Ziel entlastet, die Ablauf- und Darstellungsgeschwindigkeit ([[Bildfrequenz|Framerate]]) zu beschleunigen und/oder die Qualität der Darstellung durch zusätzliche Effekte zu erhöhen.
Bisher wurden solche Berechnungen im Zusammenspiel von CPU und GPU ausgeführt, was eine maximale Anzahl von 10 bis 200 festen Objekten pro Spielszene ermöglichte – jedoch mit hohem Rechenaufwand verbunden war. Dank des Zusammenwirkens von CPU, GPU und der PPU (''Physics Processing Unit'') soll eine gleichzeitige Berechnung von bis zu 32.000 Festkörpern mit möglichst geringer Belastung von [[Prozessor]] und [[Grafikkarte]] gewährleistet werden.


== Geschichte ==
Um die Funktionalität von PhysX nutzen zu können, bedarf es der Unterstützung der zugehörigen Physik-Engine früher NovodeX, jetzt ebenfalls PhysX genannt. Diese bildet die [[Schnittstelle]] zwischen Anwendung (z.&nbsp;B. Computerspiel) und dem Physikbeschleuniger.
Am Beginn der Entwicklung von PhysX stand die Physik-Engine NovodeX, entwickelt von dem gleichnamigen Schweizer Unternehmen. Die NovodeX AG, ein [[Ableger (Wirtschaft)|Spin-off]] der [[ETH Zürich]], wurde 2004 von dem Halbleiterhersteller Ageia übernommen. Dieser entwickelte einen speziellen [[Physikbeschleuniger]] und vermarktete seine Hardware gemeinsam mit der Software unter dem Namen PhysX.


Im Februar 2008 übernahm der Grafikchiphersteller [[Nvidia]] Ageia und integrierte die PhysX-Engine in das hauseigene [[CUDA]]-System, um sie auf Grafikkarten der GeForce-Serie lauffähig zu machen. Damit können die Physikberechnungen auch von der Grafikkarte durchgeführt werden, was zusätzliche Physikbeschleuniger optional macht. Allerdings muss die Grafikkarte CUDA unterstützen und ein aktueller Grafikkartentreiber (bei Nvidia ab Version 177.83) installiert sein. Es ist zudem möglich, eine separate Grafikkarte nur als Physikbeschleuniger zu verwenden.<ref>[https://www.computerbase.de/2008-08/bericht-nvidia-cuda-und-physx-im-ueberblick/4/ Nvidia CUDA und PhysX im Überblick] Seite 4 auf [[ComputerBase]]</ref><ref>[http://www.golem.de/0812/63999.html Breite Unterstützung für Physik-Beschleunigung per GPU] News auf [[Golem.de]]</ref>
Neben PCs wird PhysX in Zukunft auch in Spielkonsolen Anwendung finden. So haben [[Sony]] (für die [[Playstation 3]]) und [[Microsoft]] (für die [[Xbox 360]]) Vereinbarungen mit Ageia getroffen.


Im März 2015 kündigte Nvidia in Teilen die kostenlose Freigabe des PhysX-Quellcodes auf [[GitHub]] an, mit Beschränkung auf die CPU-berechneten Codeteile. Die auf CUDA aufbauende GPU-Variante blieb von dem Angebot ausgenommen. Interessenten müssen sich außerdem vor Freigabe bei Nvidias Entwicklerprogramm registrieren und den Nutzungsbedingungen zustimmen.<ref>{{Literatur |Titel=Nvidia PhysX - Nvidia gibt Quellcode für Windows, Linux, OSX und Android frei - GameStar |Online=http://www.gamestar.de/software/news/3083576/nvidia_physx.html |Abruf=2018-12-03}}</ref> Diese Einschränkungen wurden am 3. Dezember 2018 aufgehoben, womit der Quellcode nun unter einer [[BSD-Lizenz]] auf GitHub steht.<ref>{{Literatur |Titel=NVIDIA Extends PhysX for High Fidelity Simulations, Goes Open Source {{!}} The Official NVIDIA Blog |Sammelwerk=The Official NVIDIA Blog |Datum=2018-12-03 |Online=https://blogs.nvidia.com/blog/2018/12/03/physx-high-fidelity-open-source/ |Abruf=2018-12-03}}</ref>
== Anwendungsgebiete ==

Rechenintensive Vorgänge wie die Physik starrer Körper, die Simulation von Flüssigkeiten wie Wasser oder Lava sowie das realistische Verhalten von Seilen, Haaren oder Kleidung stellen das Haupteinsatzgebiet des PhysX Chips dar. Damit sind auch die folgenden Effekte realisierbar.
Am 25. März 2025 verkündete NVIDIA im Changelog für die Version v5.6.0-107.0 dass nun auch die bis dahin fehlenden Quelltext-Teile für die GPU-Variante verfügbar sind und unter einer Open-Source Lizenz stehen. Gleichzeitig wurde angekündigt, dass keine Binärversionen der GPU-Beschleunigung mehr zur Verfügung gestellt werden<ref>
{{Literatur |Titel=CHANGELOG.md |Online=https://github.com/NVIDIA-Omniverse/PhysX/blob/2264315594478a9aa0bda3464761a666fa107d76/physx/CHANGELOG.md |Abruf=2025-04-06}}
</ref>.

== Anwendung ==
Rechenintensive Vorgänge wie die Physik starrer Körper, die Simulation von Flüssigkeiten wie Wasser oder Lava, sowie das realistische Verhalten von Seilen, Haaren oder Kleidung stellen das Haupteinsatzgebiet der PhysX-Engine dar. Damit sind auch die folgenden Effekte realisierbar:


* Explosionen mit Rauch und Trümmern
* Explosionen mit Rauch und Trümmern
* komplexe Figuren mit realistischen Bewegungen und Interaktionen
* komplexe Figuren mit realistischen Bewegungen und Interaktionen
* durch Wind bewegtes Laub
* durch Wind bewegte Dinge, z.&nbsp;B. Laub, Papier, Funken, Wasser etc.
* dichter, bewegte Objekte einhüllender Nebel
* dichter, bewegte Objekte einhüllender Nebel


Neben PCs findet PhysX auch in den Spielkonsolen [[Wii]] (von [[Nintendo]]), [[PlayStation 3]] (von [[Sony]]) und [[Xbox 360]] (von [[Microsoft]]) Anwendung.
Für die Computerspieleentwicklung biete das Vorhandensein einer PPU neue Möglichkeiten. Bisher wurde der massive Einsatz komplexer Designelemente gemieden, da diese den Spielablauf verlangsamen und somit die [[Bildfrequenz|Framerate]] während des Spiels senken.


Anwendungsprogramme mit PhysX-Unterstützung sind:
== PhysX Referenzdesign ==
* [[3DMark|3DMark06]]
* 130 nm Herstellungsprozess [[TSMC]]
* Dark Physics
* 125 Millionen [[Transistor]]en
* 3DMark Vantage
* Leistungsaufnahme von 25 Watt
* [[3D GameStudio]] (ab A8 integriert)
* 128 MB [[GDDR3]] Speicher
* [[Unreal Engine]]
* [[Peripheral Component Interconnect|PCI]]- oder [[PCI-Express]]-[[Schnittstelle]]
* [[Unity (Spiel-Engine)|Unity]]


== Kritik ==
Erste PCI-Erweiterungskarten sind seit Mai 2006 von BFG und [[ASUS]] erhältlich. Letztgenannte sollte ursprünglich, abweichend vom Referenzdesign, über 256 MB Speicher verfügen, wird aber nun im Referenzdesign geliefert. Anbieter von Komplettsystemen wie [[Alienware]] oder [[Dell]] bieten bereits Produkte mit Erweiterungskarten an.
Die Website Realworldtech<ref>{{Internetquelle |url=http://realworldtech.com/page.cfm?ArticleID=RWT070510142143&p=1 |titel=PhysX87: Software Deficiency |zugriff=2018-12-03 |sprache=en-US}}</ref> analysierte den ''PhysX''-Code und prangert an, dass dieser in Verbindung mit Hauptprozessoren lediglich einen Kern zur Abarbeitung nutze. Wird aber der Grafikchip als „PhysX-Prozessor“ festgelegt, dann verpacke der GeForce-Treiber die Aufgaben automatisch in mehrere Threads, und die Bildrate schnelle in die Höhe. Außerdem nutze Nvidia lediglich veraltete [[x87]]-Befehle für Gleitkommaberechnungen, von denen Intel und AMD schon seit Anfang 2000 abraten. Effiziente SSE-Befehle, die ohne größeren Programmieraufwand eingebunden werden könnten und die Performance auf aktuellen CPUs deutlich steigern würden, nutze Nvidia bei ''PhysX'' nicht.


Daraus leitete Realworldtech den Verdacht ab, Nvidia bremse die Berechnung von PhysX-Effekten auf CPUs künstlich aus, um den GeForce-Grafikkarten ein weiteres Verkaufsargument angedeihen zu lassen.
== Liste PhysX unterstützter Computerspiele ==
=== bereits bzw. bald verfügbare Titel ===
* Bet on Soldier: Blood Sport
* CellFactor
* City of Villains
* Gunship Apocalypse
* Rise of Nations: Rise of Legends
* [[Sacred]] II
* [[Tom Clancy's Ghost Recon]] Advanced Warfighter
* [[Tomb Raider]] Legend
* Uru Live (Beta Test)


Nvidias Senior-PR-Manager Bryan Del Rizzo wies einerseits die Vorwürfe der absichtlichen Ausbremsung der CPUs zurück, versprach aber anderseits in der PhysX-Version 3.0 automatisches Multithreading und SSE-Unterstützung.<ref>[http://www.hartware.de/news_49591.html Nvidia weist PhysX-Kritik zurück] News auf hartware.de</ref>
=== Zukünftige Titel ===

* 1944 D-Day Operation Overlord
AMDs Senior Manager of Developer Relations, Richard Huddy, sprach sich in diesem Zusammenhang dafür aus, dass PhysX hoffentlich bald zusammen mit [[Glide]] und [[Aureal 3rd Dimension Technology|A3D]] im proprietären-API-Museum landet und von offenen Implementationen wie [[OpenCL]] und DirectCompute ersetzt wird.<ref>{{Webarchiv|url=http://www.thinq.co.uk/news/2010/3/8/amd-game-devs-only-use-physx-for-the-cash/ |wayback=20100510083923 |text=Archivierte Kopie |archiv-bot=2019-05-07 10:17:58 InternetArchiveBot }}</ref>
* Alpha Prime
* Arena Online
* Crazy Machines 2
* Diabolique
* Dogtag
* Eye of the Storm
* Fallen Earth
* Gothic 3
* Infernal
* KARMA
* Kuju Rail Simulator
* Loki
* [[Unreal Tournament]] 2007
* Vanguard: Saga of Heroes
* Warhammer Online


== Weblinks ==
== Weblinks ==
* [http://www.ageia.com/ Offizielle Homepage]
* [https://nvidia-omniverse.github.io/PhysX/ Offizielle Produkt-Website] (englisch)
* [https://github.com/NVIDIA-Omniverse/PhysX Offizielle-Entwicklerseite] (englisch)
* [http://www.ageia.com/downloads/physx_carwash_video/physx_carwash_fog.wmv Demonstration der PhysX Engine] (Video)

* [http://personal.inet.fi/atk/kjh2348fs/ageia_physx.html The Unofficial AGEIA PhysX Links & Info Page]
== Einzelnachweise ==
* [http://www.cellfactorgame.com/ Homepage von Cellfaktor mit einem 400 MB Ingame-Video]
<references />


{{Navigationsleiste Nvidia}}
[[Kategorie:Computerphysik]]
[[Kategorie:Computerspiel-Entwicklung]]


[[Kategorie:Computerspiel-Entwicklungssystem]]
[[en:PhysX]]
[[Kategorie:Grafikkarten]]
[[ja:PhysX]]
[[ru:PhysX]]
[[Kategorie:Nvidia]]
[[zh:PhysX]]
[[Kategorie:Middleware]]

Aktuelle Version vom 7. April 2025, 10:18 Uhr

PhysX

Logo
Basisdaten

Entwickler Ageia, Nvidia
Aktuelle Version 9.23.1019[1]
(23. Mai 2024)
Betriebssystem Windows, macOS, Linux (ohne GPU-Beschleunigung),
Wii, PlayStation 3, Xbox 360
Kategorie Physik-Engine
Lizenz 3-Klausel-BSD[2]
Offizielle Produkt-Website

PhysX ist eine quelloffene Physik-Engine des Unternehmens Nvidia. PhysX verlagert die Berechnung physikalischer Effekte in Computerspielen und Simulationssoftware auf Grafikkarten der GeForce-Serie des Herstellers. So wird der Hauptprozessor vom Aufwand dieser Berechnungen mit dem Ziel entlastet, die Ablauf- und Darstellungsgeschwindigkeit (Framerate) zu beschleunigen und/oder die Qualität der Darstellung durch zusätzliche Effekte zu erhöhen.

Am Beginn der Entwicklung von PhysX stand die Physik-Engine NovodeX, entwickelt von dem gleichnamigen Schweizer Unternehmen. Die NovodeX AG, ein Spin-off der ETH Zürich, wurde 2004 von dem Halbleiterhersteller Ageia übernommen. Dieser entwickelte einen speziellen Physikbeschleuniger und vermarktete seine Hardware gemeinsam mit der Software unter dem Namen PhysX.

Im Februar 2008 übernahm der Grafikchiphersteller Nvidia Ageia und integrierte die PhysX-Engine in das hauseigene CUDA-System, um sie auf Grafikkarten der GeForce-Serie lauffähig zu machen. Damit können die Physikberechnungen auch von der Grafikkarte durchgeführt werden, was zusätzliche Physikbeschleuniger optional macht. Allerdings muss die Grafikkarte CUDA unterstützen und ein aktueller Grafikkartentreiber (bei Nvidia ab Version 177.83) installiert sein. Es ist zudem möglich, eine separate Grafikkarte nur als Physikbeschleuniger zu verwenden.[3][4]

Im März 2015 kündigte Nvidia in Teilen die kostenlose Freigabe des PhysX-Quellcodes auf GitHub an, mit Beschränkung auf die CPU-berechneten Codeteile. Die auf CUDA aufbauende GPU-Variante blieb von dem Angebot ausgenommen. Interessenten müssen sich außerdem vor Freigabe bei Nvidias Entwicklerprogramm registrieren und den Nutzungsbedingungen zustimmen.[5] Diese Einschränkungen wurden am 3. Dezember 2018 aufgehoben, womit der Quellcode nun unter einer BSD-Lizenz auf GitHub steht.[6]

Am 25. März 2025 verkündete NVIDIA im Changelog für die Version v5.6.0-107.0 dass nun auch die bis dahin fehlenden Quelltext-Teile für die GPU-Variante verfügbar sind und unter einer Open-Source Lizenz stehen. Gleichzeitig wurde angekündigt, dass keine Binärversionen der GPU-Beschleunigung mehr zur Verfügung gestellt werden[7].

Rechenintensive Vorgänge wie die Physik starrer Körper, die Simulation von Flüssigkeiten wie Wasser oder Lava, sowie das realistische Verhalten von Seilen, Haaren oder Kleidung stellen das Haupteinsatzgebiet der PhysX-Engine dar. Damit sind auch die folgenden Effekte realisierbar:

  • Explosionen mit Rauch und Trümmern
  • komplexe Figuren mit realistischen Bewegungen und Interaktionen
  • durch Wind bewegte Dinge, z. B. Laub, Papier, Funken, Wasser etc.
  • dichter, bewegte Objekte einhüllender Nebel

Neben PCs findet PhysX auch in den Spielkonsolen Wii (von Nintendo), PlayStation 3 (von Sony) und Xbox 360 (von Microsoft) Anwendung.

Anwendungsprogramme mit PhysX-Unterstützung sind:

Die Website Realworldtech[8] analysierte den PhysX-Code und prangert an, dass dieser in Verbindung mit Hauptprozessoren lediglich einen Kern zur Abarbeitung nutze. Wird aber der Grafikchip als „PhysX-Prozessor“ festgelegt, dann verpacke der GeForce-Treiber die Aufgaben automatisch in mehrere Threads, und die Bildrate schnelle in die Höhe. Außerdem nutze Nvidia lediglich veraltete x87-Befehle für Gleitkommaberechnungen, von denen Intel und AMD schon seit Anfang 2000 abraten. Effiziente SSE-Befehle, die ohne größeren Programmieraufwand eingebunden werden könnten und die Performance auf aktuellen CPUs deutlich steigern würden, nutze Nvidia bei PhysX nicht.

Daraus leitete Realworldtech den Verdacht ab, Nvidia bremse die Berechnung von PhysX-Effekten auf CPUs künstlich aus, um den GeForce-Grafikkarten ein weiteres Verkaufsargument angedeihen zu lassen.

Nvidias Senior-PR-Manager Bryan Del Rizzo wies einerseits die Vorwürfe der absichtlichen Ausbremsung der CPUs zurück, versprach aber anderseits in der PhysX-Version 3.0 automatisches Multithreading und SSE-Unterstützung.[9]

AMDs Senior Manager of Developer Relations, Richard Huddy, sprach sich in diesem Zusammenhang dafür aus, dass PhysX hoffentlich bald zusammen mit Glide und A3D im proprietären-API-Museum landet und von offenen Implementationen wie OpenCL und DirectCompute ersetzt wird.[10]

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. www.nvidia.com.
  2. NVIDIA Extends PhysX for High Fidelity Simulations, Goes Open Source | The Official NVIDIA Blog. 3. Dezember 2018 (englisch, abgerufen am 3. Dezember 2018).
  3. Nvidia CUDA und PhysX im Überblick Seite 4 auf ComputerBase
  4. Breite Unterstützung für Physik-Beschleunigung per GPU News auf Golem.de
  5. Nvidia PhysX - Nvidia gibt Quellcode für Windows, Linux, OSX und Android frei - GameStar. (gamestar.de [abgerufen am 3. Dezember 2018]).
  6. NVIDIA Extends PhysX for High Fidelity Simulations, Goes Open Source | The Official NVIDIA Blog. In: The Official NVIDIA Blog. 3. Dezember 2018 (nvidia.com [abgerufen am 3. Dezember 2018]).
  7. CHANGELOG.md. (github.com [abgerufen am 6. April 2025]).
  8. PhysX87: Software Deficiency. Abgerufen am 3. Dezember 2018 (amerikanisches Englisch).
  9. Nvidia weist PhysX-Kritik zurück News auf hartware.de
  10. Archivierte Kopie (Memento des Originals vom 10. Mai 2010 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.thinq.co.uk