2te NVidia GraKa für Physikberechnung auf Intel Boards möglich ?

Eine Zwischenfrage.

Könnte das nicht auch ein Kern von einer Quad CPU übernehmen?
 
Natürlich kann man damit auch sehr viel berechnen, aber eine CPU ist bei weitem nicht so effektiv wenn es um Physikberechnungen geht. Das ist genauso, als ob du die Grafik auf der CPU berechnen willst. Möglilch ist das, aber es wird nicht schnell sein.

Außerdem geht es nicht nur um die Berechnungen an sich, sondern auch um den Verwaltungsaufwand, den die CPU dadurch bekommt.

Wenn eine Szene mehrere 1000 Objekte enthalten soll und die Daten von all diesen Objekten immer wieder mit jedem neuen Frame von der CPU zur GPU übertragen werden müssen, dann ist die CPU alleine mit dem Datenaustausch mit der Graka voll ausgelastet.

Wenn du ein normales DX9 Spiel mit ca. 500 Objekten auf dem Schirm darstellst, dann werden ~40% der CPU Leistung alleine schon für diesen Datenaustausch verwendet. Je mehr Objekte es werden umso mehr wird die CPU belastet ohne dass sie dabei überhaupt irgend etwas anderes wie KI, Gameplay-Logik, Sound oder Physik berechnet hat. Die wird für's reine Objekthandling verbraten.

Der Vorteil, den man hat, wenn die Physik ausschließlich auf der GPU durchgeführt wird ist, dass die Kommunikation zwischen GPU und CPU entfällt. Somit wird die CPU erheblich entlastet.
Das ist übrigens auch der große Vorteil einer Graka gegenüber dem PhysX Chip. Der PhysX nimmt der CPU lediglich die Physikberechnungen ab und erhöht dafür den Verwaltungsaufwand.
Die GPU nimmt der CPU nicht nur die Berechnungen ab, sondern auch den Verwaltungsaufwand.
 
Zuletzt bearbeitet:
Also wenn ich das Ganze so lese, dann muss ich zugben, dass ich mich was schäme, weil ich absolut keine Ahnung davon hatte, wie alles eigentlich abläuft. Habe ich jetzt auch nicht, aber zumindest ein ungefähre Vorstellung, danke euch beiden. :)
 
noxon schrieb:
Das Bild wird doch nicht von der CPU zusammengesetzt. Das macht die GPU. Die Grafikengine auf der CPU muss nicht wissen, wo sich die Objekte befinden, die auf der GPU physikalisch simuliert werden.

So steht's auch bei Havok



Die Objekte werden also nur einmal an die GPU übergeben und von da an läuft die Physiksimulation völlig unabhängig von der CPU. Erst das ermöglicht es ja überhaupt so eine hohe Anzahl von Objekten darzustellen. Bei 1000 und mehr Objekten wäre ansonsten selbst der beste Dual-Core mit dem Objektmanagement völlig ausgelastet.
Ja aber dann sind die Objekte nur temporär und dienen ausschließlich der Optik. Sie werden auch wieder "vergessen" wenn sie aus dem Bild sind. Havok ist im Prinzip Physik für Arme, also ausschließlich Physik für Optik. Im Prinzip ist geht das auch nicht viel weiter als bisherige Explosionen usw, nur dass jetzt Objekte temporär gehalten werden können. Das ist eher ein Upgrade zur Grafikengine als eine eigene Physikengine. Würden die Objekte Teil der Spielwelt sein und nicht der Grafik, wäre das so nicht möglich. Das Video zeigt aber auch relativ gut, wie man sich von optischen Effekten blenden lassen kann und was für Tricksereien möglich sind. Echte Physik à la AGEIA geht da deutlich weiter.

PS:
Auf der Havok Seite wurde auch noch eine Sache erwähnt, an die ich gar nicht gedacht hatte und zwar, dass es mittlerweile ja immer häufiger Boards mit OnBoard Grafik und demnächst ja auch CPU mit integrierter GPU geben soll. Bisher waren diese Dinge für echte Gamer ja immer ziemlich nutzlos, aber die Idee diese Komponenten für die Physiksimulationen zu nutzen ist natürlich super. Dann erfüllen diese GPUs wenigstens noch einen Zweck.

Das wäre in der Tat eine nette Option. Vor allem wenn man an Fusion oder Nahelem denkt.
 
Ich weiß jetzt leider nicht ganz genau, wie die Objekte auf der Graka gemanaged werden aber ich denke auch, dass sie verschwinden sobald sie die Szene verlassen. Trotzdem ist es nicht nur für die Optik. Sie kann auf jedenfall in's Spielgeschehen eingreifen. Aber du hast natürlich recht. Es ist keine vollwertige Physik-Engine.

Das macht aber auch nichts. Havok FX soll ja nicht die Physik-Engine auf der CPU ersetzen, sondern lediglich aufwendige physikalische Effekte darstellen, die auf der CPU zu viel Rechenzeit in Anspruch nehmen würden. Die restliche Gameplay-Physik kann ja weiterhin auf der CPU stattfinden. Die ist ja für gewöhnlich nicht so komplex wie Effektphysik. Es ist halt eine gesunde Mischung aus beidem, die letztendlich ganz sinnvoll sein wird.


Naja. Warten wir es mal ab, für was sich die Entwickler so entscheiden. Fest steht jedenfalls, dass wir in Zukunft ein paar nette physikintensive Spiele zu sehen bekommen. Sei es mit einer einzelnen Graka, mit einer zusätzlichen Graka, dem PhysX-Chip oder irgendwelchen CoProzessoren, die eventuell demnächst in CPUs einfließen werden.
 
Zuletzt bearbeitet:
Richtige Physik werden wir erst zu Gesicht bekommen, wenn die Spiele mit 64Bit unterwegs sind oder zumindest das LAA nutzen und >2GB Adressraum voraussetzen, da nur dann die Datenmengen für die Zusatzkomponenten gemanaged werden können. Vorher ist Havok eine nette Lösung, aber eben nur der Apéritive vor dem Hauptgang. Ich hoffe, dass Havok irgendwann auch mal zum Hauptgang wird, um mal etwas Bewegung in den Markt zu bringen und die sich jetzt nicht auf rein Optische Effekte konzentrieren.
 
Naja. Ich bin aber schon zufrieden mit dem, was wir demnächst zu sehen bekommen.

Es muss ja nicht immer alles perfekt sein. Spielegrefik wird ja auch nicht per Raytracing gerendert. Stattdessen greift man zu Tricks, die ein ähnliches Bild erzeugen, dafür aber viel performanter sind.

So ähnlich sehe ich das auch bei der Physik. Es muss keine astreine Simulation sein. Es reicht auch, wenn mit Tricks gearbeitet wird um physikalische Abläufe vorzutäuschen.

Ein Beispiel wären da die vorberechneten Physiksimulationen, die sich immer gleich verhalten und als reine Animation ablaufen. Erst wenn der vorberechnete Ablauf durch dynamische Objekte gestört wird, dann muss wieder simuliert werden. So kann man sich die Kollisionsabfragen der Objekte untereinander sparen und muss die Objekte nur noch mit den dynamischen Objekten im Spiel auf Kollisionen überprüfen.

Das finde ich ganz pfiffig.


Die Entwickler werden sich da schon einiges einfallen lassen um die Illusion von aufwendigen Physiksimulationen aufkommen zu lassen ohne dabei all zu viel Performance zu verbraten.
 
Also mit reinen Grafikeffekten bin da ehrlichgesagt überhaupt nicht zufrieden. Aber mein Wunsch nach echter Ingame Physik wird wohl erst so ein 1-2 Jahren erfüllt werden ;).
 
Ihr seid ja heiß am diskutieren hier ;-)

Das Problem bei echter Physik wird das Leveldesign sein. Wenn man irgendwo runterspringt und die Leiter kaputt schießt, kommt man nicht wieder hoch usw.
Das wird alles gar nicht so leicht umzusetzen sein, bzw. dürfte es schon eine gewisse Herrausforderung bedeuten.
 
Jup.

Das Leveldesign wird mittlerweile immer mehr zur Qual. Es gibt so viele Dinge auf die man Heut zu Tage achten muss, dass das Leveldesign schon fast zu dem Aufwendigsten der ganzen Spielentwicklung wird.

Je dynamischer alles wird, sei es durch Pyhsiksimulationen, ungescripteter KI oder anderen dynamischen Gameplay-Elementen wie modifizierbare Waffen oder anpassbare Spielerfähgkeiten, umso vielfältiger werden die Handlungsmöglichkeiten, die der Spieler hat.

Als Designer ist es nicht leicht die alle vorherzusehen und beim Entwickeln mit in Betracht zu ziehen.
 
Das Leveldesign wird komplex und man benötigt die richten Tools um Auswirkungen von Aktionen nachzuvollziehen. In Spiele der Zukunft werden immer mehr Effekte eingebaut werden, die funktionieren wie ein CAD Programm heute. In Zukunft werden Kräfte in Echtzeit gerechnet, für die ein Rechner heute noch (ohne dedizierte Hardware) einige Sekunden rechnen muss, um die Kraftauswirkungen auf ein Teil zu simulieren (Beispiel CATIA5R17 auf einem Core2). Der Vergleich mit einem CAD Programm macht auch deutlich, welche Datenmengen in Zukunft dazu benötigt werden, um Objekte einer Welt zu berechnen. Spiele mit echter Physik werden eine Prozessgrösse > 2GB bzw. 4GB und dedizierte Hardware (egal ob Physikchips oder zweckentfremdete Grafikchips) benötigen, um zu funktionieren. Mit Physik und damit 64Bit werden auch die Bandbreiten und Latenzen im Rechner eine wichtigere Rolle spielen als jetzt, da die CPU immer mehr zum Datenverwalter wird. Der IMC wird einfach notwendig, um die Latenzen beim Speicherzugriff so gering zu halten wie möglich und um die Bandbreite so effektiv nutzen zu können wir möglich. Die Physik ist es, die die Spieleentwicklung vorantreiben wird und die Komplexität der Spiele weiterhin ansteigen lässt. Was ich mit meine Geschwärme sagen will: man sollte sich die Bedeutung, den die Physik im Spielesektor in Zukunft haben wird, mal vergegenwärtigen und die Möglichkeiten betrachten, die da durch entstehen.
Letztendlich wird es wieder auf eine einheitliche PhysikX Schnittstelle als Teil von DirectX (jaja, ich weiss, M$ nennte es nicht mehr so) hinauslaufen müssen, die sämtliche Hardware nutzen kann und die Grafikchiphersteller dazu zwingen wird, native Physikhardware zu entwickeln ;). Im Prinzip ist AGEIA momentan nichts anderes wie damals 3Dfx, die PhysX API ist nichts anderes als damals Glide. Es gibt erstaunliche Parallelen finde ich. Nur das Ergebnis ist noch nicht zu beeindruckend, aber das kommt noch.
 
Zuletzt bearbeitet:
Zurück
Oben