News Was passiert mit PhysX, wenn DX11/OpenCL da sind?

Wolfgang

Redakteur
Teammitglied
Registriert
Nov. 2002
Beiträge
8.596
Kaum ein aktuelles PC-Spiel kann heutzutage mehr ohne eine funktionierende Physik-Engine auskommen. Die Hersteller haben verschiedene Möglichkeiten, wie man die Physik in dem eigenen Titel realisiert. So kann man eine eigene Engine entwickeln (aufwendig, aber flexibel), oder man vertraut auf bereits vorhandene Physik-Bibliotheken.

Zur News: Was passiert mit PhysX, wenn DX11/OpenCL da sind?
 
Also bietet OpenCL einfach "nur" die Möglichkeit eines einheitlichen Programmierstandards, die eigentliche Rechenarbeit wird dann aber weiterhin von Havok / PhysX bearbeitet und dorthin "weitergeleitet"!?
 
Was ja auch völlig Sinn macht. Welchen PPU man dann schlussendlich hat, ist egal, solange über die Unified API berechnet wird. Diese leitet dann an Havok / PhysX / Whatever weiter. Done.
 
OpenCL ist ja auch nicht mit dem Fokus auf Spiele prograqmmiert worden. Bei OpenCL geht es mehr darum die immer größer werdende Rechenleistung der GPUs und Mehrkernprozessoren direkt in Programmen nutzen zu können.
PhysX und Havoc sind dagegen direkt für Spiele entwickelt.

Und ob Intel und nvidia einen solver für OpenCL (oder später den compute-Shader) rausbringen ist meiner Meinung nach fraglich. Schließlich kann man sich mit Havoc / PhysX werbewirksam von der Konkurrenz absetzen.
 
Compute Shader in DirectX 11 muss nicht unbedingt etwas mit PhysX zu tun haben, hier wird es eher darum gehen Berechnungen in Applikationen auf die GPU auszulagern.
 
Genau das habe ich gestern schon vermutet, bin aber mit meiner Behauptung abgewiesen worden. Würde mich freuen wenn es so kommt und ich denke es wird auch so sein. Würde dann bedeuten das PhysX kein Nvidia Standard mehr ist sondern von jeder GPU benutzt werden kann. Das dürfte dann auch die ATI Besitzer freuen und offener für PhysX machen.

gruß nothe
 
danke für die news, endlich kapierens die leute dann vll mal, dass physx nicht verschwinden wird,sondern einfach weiterlaufen wird. Denn es wird sicherlich compute-shader support kommen und ich wette sogut wie jedes dx11 spiel was physx nutzt wird die möglichkeit zu gpu-physx haben, denn die ati-karten werden dann ja auch damit laufen.
 
AffenJack schrieb:
..., denn die ati-karten werden dann ja auch damit laufen.

Die Frage ist natürlich inwiefern nvidia dort evtl. eine Softwarebremse einbauen würde, wäre natürlich nicht gerade werbewirksam wenn eine ATi Karte evtl. genauso schnell, oder gar schneller, ist als eine nvidia Karte, siehe auch die DX10 Geschichte und Assassins Creed, wo der angeblich fehlerhafte DX10 Pfad einfach mal komplett entfernt, anstatt gefixt wurde.
 
AffenJack schrieb:
danke für die news, endlich kapierens die leute dann vll mal, dass physx nicht verschwinden wird,sondern einfach weiterlaufen wird...

Keine Sorge, es wird wieder genügend "Besserwisser" geben, die in diesem Forum ein ums andere Mal von der Totgeburt "Physx" reden. Traurig, wie da jedoch immer Compute Shader und DX11 als Basis für dieses unzutreffende Argument benutzt wurde. Mal sehen, was demnächst als Grund angeführt wird.
 
da PhysX nur mittels CUDA auf der GPU berechnet werden kann
Kann es sein, dass da was nicht stimmt? Es wird geschrieben, dass PhysX nur auf GPUs läuft, aber es gibt massig PhysX Spiele, bei denen die Engine nur mit der CPU berechnet wird. Somit funktioniert es auch mit ATI Karten bzw mit jeder CPU.

Nur, wenn man PhysX mit der GPU beschleunigen will, dann braucht man eine nvidia karte.

EDIT: Ich denke, ich habs falsch verstanden. Es geht darum, dass man für GPU beschleunigung von PhysX CUDA und somit eine nvidia GPU braucht. OK...


Nochmal EDIT: Warum schreibt ihr nicht einfach gleich, dass GPU PhysX bleibt und nur das dafür erforderliche CUDA von nvidia durch eine allgemeinlösung für alle Karten ersetzt wird - und das ist DX11

Das würde viel Verwirrung ersparen... :rolleyes: :)
 
Zuletzt bearbeitet:
Also wenn ich das richtig sehe, geht die Arbeit derzeit den Weg: Anwendung -> PhysX -> CPU/GPU/PPU bzw. Anwendung -> Havok -> CPU. Mit OpenCL wäre es möglich [wie weit das ganze a) den kompletten Befehlsumfang abdeckt und b) tatsächlich umgesetzt wird, muss man sehen] daraus Anwendung -> OpenCL -> Geräte-API [Havok bzw. PhysX] -> Gerät [CPU/GPU/PPU] zu machen. Irgendeine Möglichkeit, die Hardware der Konkurrenz zu sabotieren, kann es bei dieser Lösung nicht geben, denn das OpenCL setzt dann eben auf vorhandene oder eben nicht vorhandene (dann kommt was Havok-ähnliches raus) Hardware-Treiber auf.

PhysX wird also _mindestens_ als eigentliche Hardware-API erhalten bleiben.
 
Zuletzt bearbeitet:
Sehr guter Artikel! Damit dürfte auch endlich der weit verbreitete Unfug, dass PhysX wegen OpenCL sterben wird, hoffentlich bald der Geschichte angehören.
 
Danke für diesen Artikel bzw. klare Fakten was diese Thema angeht!
 
Was ich mich immernoch frage ist, wie das ganze mit Netzwerk und multiplayer aussieht, was für mich der etwas interessantere teile ist, sehn dann auf allen rechnern die efekte anders aus weil die physik engine die efekte auf jedem rechner selbst berechnet und wahrscheinlich nicht immer zum gleichen ergebniss kommt (zumindest bei aufwendigeren sachen).
Ich dachte bis jetzt immer das bei PhysX die berechneten Ergebnisse direkt angezeigt werden und nicht mehr zurück an CPU übergeben werden was bei Netzwerkspielen ja nötig werden. (kann mich auch irren deswegen frag ich ja wie sich das verhällt)
 
Einhörnchen schrieb:
Sehr guter Artikel! Damit dürfte auch endlich der weit verbreitete Unfug, dass PhysX wegen OpenCL sterben wird, hoffentlich bald der Geschichte angehören.

Achso, weil Wolfgang sagt, dass solche Annahmen nicht korrekt seien wird das in Zukunft auch so sein wie Wolfgang sich das vorstellt?

Der Artikel ist wirklich schlecht, da der Autor viel zu sehr Informationen seiner persönlichen Kristallkugel einfließen lässt und diese dann als Fakten darstellt.

Ich lese viel Dummes im Internet, dieser Artikel hat mich aber doch noch etwas zum Staunen gebracht. :lol:
 
ja mag sein das physix nicht wegen opencl bzw. sicher für spiele der wichtigere standard dx11 sterben wird. Aber wenn nicht amd bald umschwenkt seh ich trotzdem keine zukunft für physix. Denn alleine wird man sich nicht gegen amd und intel durchsetzen können. da wird dann amd oder intel eher havok so erweitern das es auch über gpu berechnet werden kann.
 
blackiwid schrieb:
ja mag sein das physix nicht wegen opencl bzw. sicher für spiele der wichtigere standard dx11 sterben wird. Aber wenn nicht amd bald umschwenkt seh ich trotzdem keine zukunft für physix. Denn alleine wird man sich nicht gegen amd und intel durchsetzen können. da wird dann amd oder intel eher havok so erweitern das es auch über gpu berechnet werden kann.

amd muss nicht umschwenken, physx wird compute shader unterstützen und dann unterstützt es auch ati grafikkarten, da diese compute shader unterstützen müssen. Und physx wird sicherlich compute shader unterstützen, damit es sich durchsetzt und nv damit geld verdienen kann.

@moko
nö, der artikel ist nicht schlecht, du hast ihn eher nicht verstanden.
Wolfgang hat schließlich nichtma geschrieben, dass physx 100pro compute-shader unterstützen wird, sondern, dass man davon ausgeht.
Das ist eine der wenigen annahmen in dem artikel, der rest sind schlichtweg fakten.
 
Zuletzt bearbeitet:
@AffenJack: Stimmt! Die Wahrscheinlichkeit, dass PhysX keinen Solver für OpenCL bekommt ist wohl verschwindend gering. Wobei man niemals nie sagen soll ;).
 
Es gibt bereits einige interessante offene Physik-Bibliotheken. Und wer sagt denn, das nach OpenGL, OpenAL, OpenVG und OpenCL nicht so langsam auch eine OpenPL aufkommt. Zwar haben diese Standards immer anfangs einen schlechten Stand. Aber da diesmal keine Implementierung in DirectX stattfindet dürfte nur PhysX als ernsthafter Konkurrent auftreten.
 
@Feigling1: eigentlich wird die physik exakt berechnet, wodurch unteschiedliche flugbahnen der gleichen teile wohl nicht sein dürften. allerdings nehme ich an, dass es wohl sinnvoller wäre, die physik zentral rechnen zu lassen und nur die positionen der teilchen an die "clients" zu übermitteln wie bei allen objekten.

@moko: zitiere doch bitte mal die falschen aussagen von wolfgang. imho hat er lediglich die unterschiede zwischen open cl und physx aufgezeigt und eine prognose für die nahe zukunft abgegeben, die aber auch als solche zu erkennen ist.

dass physx nicht wegen open cl sterben kann, weil beides unterschiedliche dinge sind sollte ja wohl klar sein. open cl kann mit physx arbeiten oder eben auch nicht. aber unmittelbar für das ende von physx kann open cl definitiv nicht verantwortlich sein.
 
Zurück
Oben