PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gesamteffizienz von Havok FX


Benedikt
2006-04-13, 14:03:52
Hi Leute,

mal ein paar Gedanken zu HavokFX und seiner Effizienz. Man kann ja verschiedene Arten annehmen, wie HavokFX die verfügbareN GPU(s) nutzt. Tja - aber nichts ist "for free"...



Angenommen, HavokFX läuft parallel zum Spiel auf einer GPU, was ja sicher der am meisten zutreffende Fall ist: Da ja die Physiklösung etwas Rechenleistung kostet, und daher für die Spielgrafik weniger übrigbleibt, sollte man meinen die Framerate geht zurück. Da aber GPUs Physik effizienter berechnen können als eine CPU - steigt oder fällt die Gesamteffizienz? Bleibt unterm Strich mehr Leistung fürs Spiel übrig, wenn man bei gleich bleibender Komplexität der Physikberechnung dieselbige von der CPU auf die GPU verlagert? Irgendwo muss ja der Sinn von Havok FX auf einer GPU liegen.
Schließlich noch die zwei Arten, wie bei einem Multi-GPU-System die Phyik berechnet werden kann:

HavokFX läuft auf einem SLI-System parallel zum Spiel
Wo liegt hier der "Sweet spot" zwischen Physik- und Grafiklast, um die höchste Gesamteffizienz zu erzielen? 50/50?
HavokFX läuft dezidiert auf einer GPU eines SLI-Systems: Schließlich wird eine GPU dediziert für die Physikberechnung verwendet. Hier wird aber wiederum eine GPU durch die Physikberechnungen okkupiert und kann keine Grafikberechnungen durchführen
Welcher der zwei Fälle von Physik auf Multi-GPU ist wohl der effizienteste bzw. wird verwendet werden?

Coda
2006-04-13, 15:51:52
Du kannst als Entwickler gar nicht festlegen auf welcher GPU auf einem SLI-System irgendwas gemacht wird. Das sieht für OpenGL genauso wie für Direct3D aus wie eine GPU.

Die Leistung wird definitiv besser sein wenn man es die GPU machen lässt, außer das Spiel ist komplett GPU-Limitiert, was bei Physikspielereien aber ganz schnell nicht mehr der Fall ist.

Benedikt
2006-04-13, 22:32:07
Du kannst als Entwickler gar nicht festlegen auf welcher GPU auf einem SLI-System irgendwas gemacht wird. Das sieht für OpenGL genauso wie für Direct3D aus wie eine GPU.

Die Leistung wird definitiv besser sein wenn man es die GPU machen lässt, außer das Spiel ist komplett GPU-Limitiert, was bei Physikspielereien aber ganz schnell nicht mehr der Fall ist.
Das heißt bei gegebener Physikkomplexität n für ein bestimmtes Spiel mit HavokFX ist die Effizienz für eine GPU-berechnete Variante höher, obwohl die GPU dann weniger Ressourcen zur Grafikdarstellung zur Verfügung hat!? Na dann können wir uns auf Physikberechnung auf der GPU ja durchaus freuen. ;)

Kinman
2006-04-14, 00:24:29
Richtig schön wäre ja, wenn die Engine je nach Auslastung die CPU und/oder die GPU als Physikprozessor nutzt. Wäre sowas technisch möglich?

mfg Kinman

RoKo
2006-04-14, 01:17:46
Richtig schön wäre ja, wenn die Engine je nach Auslastung die CPU und/oder die GPU als Physikprozessor nutzt. Wäre sowas technisch möglich?
Sowas wie Brook nehmen, seine Streamprogramme für CPU, GPU, irgendwelche passenden Coprozessoren (siehe Cell) kompilieren, vielleicht sogar noch irgendwie durchchecken, wie flott es jeweils auf Prozessor-X läuft und dann das ganze Zeugs zur Laufzeit passend verteilen. So vermute ich, wird es in Zukunft typischerweise laufen. Mit Physix geht sowas leider aber mal gar nicht.

Benedikt
2006-04-14, 11:44:10
Sowas wie Brook nehmen, seine Streamprogramme für CPU, GPU, irgendwelche passenden Coprozessoren (siehe Cell) kompilieren, vielleicht sogar noch irgendwie durchchecken, wie flott es jeweils auf Prozessor-X läuft und dann das ganze Zeugs zur Laufzeit passend verteilen. So vermute ich, wird es in Zukunft typischerweise laufen. Mit Physix geht sowas leider aber mal gar nicht.
Dann hättest du aber je nach Grafiklast (wenn man sagt, die Grafik sollte immer konstante Qualität bzw. Priorität haben) stark wechselnde Physikqualität, was dann aber doch irgendwie störend wäre. Oder vice versa.

Expandable
2006-04-14, 11:49:10
Die Leistung wird definitiv besser sein wenn man es die GPU machen lässt, außer das Spiel ist komplett GPU-Limitiert, was bei Physikspielereien aber ganz schnell nicht mehr der Fall ist.

Angenommen ich habe ein CPU-Limit, wie z.B. in HL2. Dann kann ich praktisch kostenlos SSAA einschalten. Wenn aber die Physik auf der GPU läuft, läuft es ohne SSAA vielleicht schneller, mit SSAA, weil eben die Physik so viel GPU-Rechenzeit braucht, nur noch sehr schlecht. Dann ist es zwar ohne SSAA schneller, aber mit wesentlich langsamer. Und das kann ja wohl nicht Sinn der Sache sein.

RoKo
2006-04-14, 12:07:45
Dann hättest du aber je nach Grafiklast (wenn man sagt, die Grafik sollte immer konstante Qualität bzw. Priorität haben) stark wechselnde Physikqualität, was dann aber doch irgendwie störend wäre. Oder vice versa.
Glaube nicht, dass sowas jemand machen wird. Entweder hat man insgesamt genug Rechenleistung (die dann egal wie zusammenkommen darf) oder es ruckelt. Wie üblich.

Coda
2006-04-14, 13:55:46
Angenommen ich habe ein CPU-Limit, wie z.B. in HL2. Dann kann ich praktisch kostenlos SSAA einschalten. Wenn aber die Physik auf der GPU läuft, läuft es ohne SSAA vielleicht schneller, mit SSAA, weil eben die Physik so viel GPU-Rechenzeit braucht, nur noch sehr schlecht. Dann ist es zwar ohne SSAA schneller, aber mit wesentlich langsamer. Und das kann ja wohl nicht Sinn der Sache sein.
Ihr tut immer so als würde das irgendwie zu unglaublich starken Einbusen führen die Physik auf der GPU zu berechnen. Im Gegenteil, die GPU rechnet das wohl in einem Zehntel der Zeit der CPU, wenn nicht weniger.

stav0815
2006-04-14, 14:09:13
Ihr tut immer so als würde das irgendwie zu unglaublich starken Einbusen führen die Physik auf der GPU zu berechnen. Im Gegenteil, die GPU rechnet das wohl in einem Zehntel der Zeit der CPU, wenn nicht weniger.
ja, aber der bruchteil der CPU fehlt trotzdem an Grafikpower.
Das wäre was anderes wenn die GPU das "nebenher" machen würde, also quasi Grafikleistung + Physikleistung > Grafikleistung

StefanV
2006-04-14, 14:10:07
Du kannst als Entwickler gar nicht festlegen auf welcher GPU auf einem SLI-System irgendwas gemacht wird. Das sieht für OpenGL genauso wie für Direct3D aus wie eine GPU.

Die Leistung wird definitiv besser sein wenn man es die GPU machen lässt, außer das Spiel ist komplett GPU-Limitiert, was bei Physikspielereien aber ganz schnell nicht mehr der Fall ist.
Und wie schauts aus mit 2 'normalen' GraKas, kann mans da ev. festlegen?? (eigentlich müsste man das können, bei D3D ist ja eine Auswahl des Gerätes möglich).

patermatrix
2006-04-14, 14:10:37
Du kannst als Entwickler gar nicht festlegen auf welcher GPU auf einem SLI-System irgendwas gemacht wird. Das sieht für OpenGL genauso wie für Direct3D aus wie eine GPU.
Könnte man das über den Treiber machen? Und würde es Vorteile haben, es nur auf einer der beiden GPUs zu machen?

Wie funktioniert ansonsten eigentlich die Aufteilung auf die beiden GPUs? Gibt es da nicht Schwierigkeiten mit der Synchronisation?

Coda
2006-04-14, 14:51:26
Könnte man das über den Treiber machen?
Ja. Nur dafür müssten die GPU-Hersteller eine Physik-API anbieten.

Und würde es Vorteile haben, es nur auf einer der beiden GPUs zu machen?
Kommt drauf an. Es würde dann halt keine Lastverteilung mehr geben.

Wie funktioniert ansonsten eigentlich die Aufteilung auf die beiden GPUs?
Entweder eine GPU rendert die garaden, und die andere die ungeraden Frames oder es wird das Bild in zwei Teile zerlegt.

Gibt es da nicht Schwierigkeiten mit der Synchronisation?
Welche Syncrhonisation meinst du jetzt?

Gast
2006-04-14, 16:25:18
Da die Effizienz von SLI in Spielen ist ja maximal so um die 80% liegt bietet es sich dann nicht an die restlichen 20% für eben diese Physikberechnungen zu nutzen?

Gast
2006-04-14, 17:17:46
Da die Effizienz von SLI in Spielen ist ja maximal so um die 80% liegt bietet es sich dann nicht an die restlichen 20% für eben diese Physikberechnungen zu nutzen?
Wer sagt denn, daß für die +80% beide Karten nicht 100% am chackern sind? +80% ist nur das was dann hinten rauskommt.

Coda
2006-04-14, 17:24:53
Da die Effizienz von SLI in Spielen ist ja maximal so um die 80% liegt bietet es sich dann nicht an die restlichen 20% für eben diese Physikberechnungen zu nutzen?
Es ist nicht die Effizenz von SLI die da einen Strich durch die Rechnung macht, sondern die CPU-Limitierung (AFR skaliert eigentlich linear, SFR natürlich nicht). Also ja.

svenw
2006-04-17, 21:38:50
Angenommen ich habe ein CPU-Limit, wie z.B. in HL2. Dann kann ich praktisch kostenlos SSAA einschalten. Wenn aber die Physik auf der GPU läuft, läuft es ohne SSAA vielleicht schneller, mit SSAA, weil eben die Physik so viel GPU-Rechenzeit braucht, nur noch sehr schlecht. Dann ist es zwar ohne SSAA schneller, aber mit wesentlich langsamer. Und das kann ja wohl nicht Sinn der Sache sein.
Andererseits bekommst du natürlich dadurch CPU Rechenzeit frei. Das ganze ist ein Optimierungsproblem. Wieviel Rechnerei laß ich bei der CPU und wieviel schiebe ich auf die GPU. Diese Aufteilung ist an sich recht interessant, weil bisher immer die eine Komponente limitiert hat. Mit der GPU Nutzung könnte man das System optimal auslasten (soweit es nicht GPU limitiert ist), denn ich schiebe solange Rechenpower von der CPU auf die GPU bis die anfängt zu limitieren. Den Treiber möchte ich allerdings wirklich nicht programmieren der das dynamisch macht. :biggrin:

Benedikt
2006-04-17, 22:50:24
Andererseits bekommst du natürlich dadurch CPU Rechenzeit frei. Das ganze ist ein Optimierungsproblem. Wieviel Rechnerei laß ich bei der CPU und wieviel schiebe ich auf die GPU. Diese Aufteilung ist an sich recht interessant, weil bisher immer die eine Komponente limitiert hat. Mit der GPU Nutzung könnte man das System optimal auslasten (soweit es nicht GPU limitiert ist), denn ich schiebe solange Rechenpower von der CPU auf die GPU bis die anfängt zu limitieren. Den Treiber möchte ich allerdings wirklich nicht programmieren der das dynamisch macht. :biggrin:
Das meinte ich ja auch mit meiner ursprünglichen Fragestellung, wo hier der optimale Punkt liegt (Lastverteilung). Man muss ja auch berücksichtigen, dass die GPU Physik effizienter berechnet als die CPU, was ja eher den Vorteil in Richtung GPU verschiebt. Aber da ja Havok FX eh' nur für Effektphysik (AFAIK nicht gameplayrelevant) verwendet wird, wird sich's wohl nur wie ein x-beliebiges zuschaltbares Grafikfeature verhalten, dass die Performance halt ein wenig drückt...

haifisch1896
2006-04-23, 00:49:40
Welche Syncrhonisation meinst du jetzt?


Er wird die Synchronisation von Bild und Physikberechnung meinen.

Dazu denke ich, dass die Physikdaten vor der Bildberechnung berechnet würden.
Ist doch im Aufbau dann fast so als würde die 2. Grafikkarte (bzw. der zweite Kern) sich als CPU ausgeben und die Grafikkarte muss ja immer auf die CPU warten.

[LOG]Skar
2006-04-29, 09:43:11
Ich glaube das ganze ist wieder ein marketing Gag.
Ein Entwickler von UT hat ja schon gesagt das er sich
100 andere Dinge vorstellen kann wofür eine GPU sinnvoller
zu nutzen wäre (Auflösung für 30 Zoll Displays, bessere Shader,...).

Dass eine GPU Grafik und Physik gleichzeitig macht halte ich auch für ein
Hirngespinst. Agaias Karte hat 128MB Ram, jetzt sag mir mal einen der
128MB Texturspeicher aufgibt^^ Und den Speicher ständig zu swapen...
da kann man dann wohl auch wieder die CPU nutzen.

Ich denke das ganze ist dann eine Art 2.1 SLI 2 Grafik eine Physik, womit
auch jeglicher Preisvorteil zunichte wäre.

Man wird so oder so nicht um eine neue Karte drumherum kommen, welche
dann schneller ist wird man sehen.

p.s. Ich frage mich eh welche Affen im Moment Bechmarks mit den paar
verfügbaren Agaia Karten machen. Die News 3Dmark wir durch Agaia nicht
schneller sind ja echt der Hammer! So viel Blödsinn da kriegt man krämpfe,
wenn Software irgendwann soweit ist sich selbst auf Hardware anzupassen
und zu optimieren leben wir auf dem Mars...

Ailuros
2006-04-29, 10:23:52
Zumindest was NVIDIA betrifft werden in absehbarer Zukunft zusaetzliche Physik-Effekte auf die zweite GPU in einem SLi System geschleust; das aber auch nur vorruebergehend denn afaik wird dann spaeter womoeglich mit Treiber-updates die zweite GPU nicht mehr ausschliesslich fuer Physik-Berechnungen beschaeftigt.

Ich hab eine andere Frage denn ich bin ziemlich verwirrt mit der ganzen Affaere in letzter Zeit: AFAIK war der original Plan als IHVs und M$ die Grundlagen von "DX-Next" besprachen die CPU weiterhin zu entladen und fuer die Mehrzahl AI und physics der CPU zu ueberlassen.

Ich kann zwar verstehen dass fuer Physik eine GPU besser geeignet ist, aber irgendwie klingt mir die obrige originale These als insgesamt eine bessere Idee. Diese Besprechungen beinhalteten natuerlich auch teilweise eine voll programmierbaren Primitiven Prozessor auf der GPU, aus dem nur noch in etwa die Haelfte in D3D10 realisiert wurde.

Ob weniger effizient oder nicht auf einer CPU koennte mir persoenlich egal sein; ueberhaupt mit den multi-core CPUs die sich so langsam durchsetzen und es wohl auch nicht bei zwei cores bleiben wird in der Zukunft.

Cliff Notes: wie sicher sind wir, dass die ganze Sache durch Ageia's Idee nicht wirklich in die falsche Richtung getrieben wird?

Ailuros
2006-04-29, 10:28:50
Coda[/POST]']Es ist nicht die Effizenz von SLI die da einen Strich durch die Rechnung macht, sondern die CPU-Limitierung (AFR skaliert eigentlich linear, SFR natürlich nicht). Also ja.

Zwar etwas OT denn hybride modi sind nicht immer nutzbar, aber SLi-Systeme koennen unter Umstaenden sogar verdammt nahe an die 100% kommen wenn man 8xS/single GPU mit 8xS/SLi vergleicht z.B.

http://www.xbitlabs.com/articles/video/display/geforce7900gt.html

Leider wird hier nur SLi-AA benutzt.

kevsti
2006-04-29, 13:04:34
Aber vlt. kann der CPU als "gegenleistung" für die Physikberechnung, auch was für die GPU berechnen, irgendwas was der CPU genauso schnell könnte? naja glaub ich zwar eher nicht.. aber sowas wär effizent.. atm. siehts so aus als ob es nur effizent wär, wenn man ne stärkere GPU hat als nen CPU nur wenn das Game die CPU nicht an 100% bringt, aber die GPU schon an "120%", dann machts kaum sinn der GPU nochwas aufzulegen, auch wenn sies 10 x schneller kann..

aber vlt. bringt Havok FX was ganz anderes mit, vlt. Physik die der CPU atm. nicht berechnen kann, weil die PhysX Karte stellt ja auch effekte bei Spielen (z.B GR:AW) da, die ohne diese Karte nicht dagestellt werden.. kann natürlich marketing sein oder halt wirklich atm. nicht möglich mit einen CPU..

mocad_tom
2006-04-30, 01:28:29
Wie ist denn die Physik auf der XBox360 verteilt?

Microsoft hat die Ageia Pysix-Engine lizensiert, hat dafür aber keine dedizierte Hardware. Nun stellt sich die Frage wie hier nun die Berechnung verteilt ist.

http://www.extremetech.com/article2/0,1697,1855078,00.asp
http://www.extremetech.com/article2/0,1558,1856641,00.asp?kc=ETRSS02129TX1K0000532


Sie haben einen Prozessor mit 6 Threads zur Verfügung und einen Grafikchip mit Unified Shadern. Es wäre wirklich interessant wie die Lastverteilung nun realisiert wird.

http://www.gamespy.com/articles/641/641662p1.html
Carmack meint, das er sich interaktive Physik im grossen Stil nicht vorstellen kann, ein Grund hierfür ist das Culling. Objekte die nicht im Sichtfeld sind können trotzdem Auswirkungen haben.

Eyecandy kann er sich aber sehrwohl vorstellen - Fluid Simulation, Fur, Partikelsysteme.
Ich glaube das man sich das ganze in einem Realismus-Paket ansehen muss, wenn man hergeht und der GPU Rechenkraft wegnimmt muss sich dies auszahlen.

Grüße,
Tom

Benedikt
2006-04-30, 02:08:11
mocad_tom[/POST]']Wie ist denn die Physik auf der XBox360 verteilt?

Microsoft hat die Ageia Pysix-Engine lizensiert, hat dafür aber keine dedizierte Hardware. Nun stellt sich die Frage wie hier nun die Berechnung verteilt ist.

http://www.extremetech.com/article2/0,1697,1855078,00.asp
http://www.extremetech.com/article2/0,1558,1856641,00.asp?kc=ETRSS02129TX1K0000532


Sie haben einen Prozessor mit 6 Threads zur Verfügung und einen Grafikchip mit Unified Shadern. Es wäre wirklich interessant wie die Lastverteilung nun realisiert wird.

http://www.gamespy.com/articles/641/641662p1.html
Carmack meint, das er sich interaktive Physik im grossen Stil nicht vorstellen kann, ein Grund hierfür ist das Culling. Objekte die nicht im Sichtfeld sind können trotzdem Auswirkungen haben.

Eyecandy kann er sich aber sehrwohl vorstellen - Fluid Simulation, Fur, Partikelsysteme.
Ich glaube das man sich das ganze in einem Realismus-Paket ansehen muss, wenn man hergeht und der GPU Rechenkraft wegnimmt muss sich dies auszahlen.

Grüße,
Tom
Da ich (gefühlsmäßig) mir denke, dass es leichter sein wird, auf der 360-CPU freie Ressourcen zu finden als auf dem wohl eh' eher limitierenden Grafikchip (da bei momentan erhältlichen Games wohl noch nicht alle 3 Cores der CPU voll ausgelastet werden), denke ich, dass die Phyikengine wohl einen oder mehrere Cores der CPU nutzt. Ob allerdings auch thread level parallelism (SMT) beim 360-Prozessor viel bringt und inwieweit das bereits eingesetzt wird wäre interessant, vielleicht weiß das jmd.?

Harte Realität
2006-04-30, 11:26:31
Eigentlich ist diese Diskussion ohne praktischen Sinn. Ageia's PhysX Prozessor wird schon in der 130nm Variante der 1900XT/7900GTX hinsichtlich gestalterischer Freiheit bei physikalischen Modellen und damit einhergehender sinnvoll nutzbarer Rechenleistung deutlich überlegen sein! Und kaum ein Grafik-Junky, der sich eine hochpreisige Grafikkarte kauft, wird seine Karte etwas anderes als Grafik rechnen lassen. Es gibt noch sooo viel sinnvolles für Grafikprozessoren zu rechnen. Die Physik sollte man einfach den dafür gezielt entwickelten Schaltkreisen überlassen und keine Krücken bauen. Die PR-Abteilungen von NV/ATI würden sicherlich gerne weitere Märkte/Anwendungszwecke erschließen, schlicht um den Absatz anzukurbeln, aber müssen wir ihnen folgen und unnötig viel Geld für weniger Leistung und Flexibilität ausgeben???

Die Physik ausschließlich auf einem zweiten CPU-Core rechnen zu lassen, ist allerdings noch viel blödsinniger weil noch weit weniger geeignet/konkurrenzfähig. Wenigstens versuchen Intel und AMD uns nicht ernsthaft einen solchen Unsinn glaubhaft zu machen.

Tom

ecodriver
2006-04-30, 14:15:29
In der am Montag erscheinenden c't ist ein Artikel über Physikbeschleunigungen
drin.
Der die Unterschiede von Havok FX (Effekt-Physik auf Grakas), Ageia PhysX und ATIs DPP-Layer "beleuchtet". Wobei auch festgestellt wird das die tatsächliche Leistungsfähigkeit der 3 Lösungen momentan nicht bekannt sind.

Gruß ecodriver

Gast
2006-04-30, 16:42:52
ecodriver[/POST]']In der am Montag erscheinenden c't ist ein Artikel über Physikbeschleunigungen
drin.
Der die Unterschiede von Havok FX (Effekt-Physik auf Grakas), Ageia PhysX und ATIs DPP-Layer "beleuchtet". Wobei auch festgestellt wird das die tatsächliche Leistungsfähigkeit der 3 Lösungen momentan nicht bekannt sind.

Gruß ecodriver
Nun, Havok FX beschränkt sich auf Effekt-Physik. Das sollte wohl einen Hinweis (sicher kein Beweis) dafür sein, dass die Grafikkartenlösung gegenüber PhysX hinken wird. Es geht letztlich nicht um die Machbarkeit und sicherlich vorhandene vielfache Leistungssteigung im Vergleich zu (Doppelkern-)CPUs, sondern um das Kosten-/Nutzen Verhältnis. NVidia und ATI zeigen ihre Physik-Demos mit SLI-/Crossfire Konfigurationen bestückt mit dem Ultra Highend. Wie wäre es mit einem Vergleich im 300 Euro Bereich (PhysX) als SLI oder Crossfire Konfiguration. Außerdem hätte ich gerne einen Vergleich dahingehend, was mit welcher Karte bei welcher Effizienz berechnet werden kann. Theoretische Gigaflops-Zahlen sind einfach nur Marketing-Muskeln und keinen Deut mehr.

Tom

svenw
2006-04-30, 20:46:31
Gast[/POST]']Nun, Havok FX beschränkt sich auf Effekt-Physik. Das sollte wohl einen Hinweis (sicher kein Beweis) dafür sein, dass die Grafikkartenlösung gegenüber PhysX hinken wird.
Auch die Ageia Karte wird nur Effekt-Physik berechnen. Einfach aus dem Grund, das das Spiel auch ohne die Karte laufen muß. Die Spiele Physik wird immer auf der CPU berechnet werden, zumindestens solange bis sich Physiks on Graka/Ageia wirklich flächendeckend durchgestetzt haben.

Aquaschaf
2006-04-30, 21:14:44
Solange es sich dabei um eine Zusatzkarte für 300€ handelt die für die meisten Anwender außerhalb von Spielen keine Bedeutung hat wird es mit der Verbreitung noch etwas dauern...

mocad_tom
2006-04-30, 21:35:58
Habe mich jetzt mal nochmal etwas durchgewühlt.
Der Artikel in der c't ist ganz informativ, birgt aber kaum neues.
Immerhin wird Cell Factor kurz angesprochen - die Tech Demo für die Ageia Physx-Engine.
Hier ein kleines Filmchen dazu:
http://www.winfuture.de/downloadstart,1146422156,1584.html
Dieses Tech-Demo läuft nur mit einer Ageia-Karte - schaut aber ein bisschen überfrachtet aus, von der Fluid-Berechnung bin ich etwas enttäuscht - trotzdem die bisher beeindruckendste Tech-Demo in Sachen Physik.

Hier nochmal ein Bericht von der GDC 06
http://www.gamespot.com/pages/news/story.php?sid=6146633&page=1

Dramatically improved physics has been one of the major promises of the next-generation game experience. The Xbox 360 CPU has three processing cores, and the PlayStation 3 Cell processor's seven synergistic processing elements provide a tremendous amount of horsepower for physics calculations......
......Epic Games demonstrated physics effects currently in development for Unreal Tournament 2007 on a PlayStation 3 development kit. The physics effects built on Ageia software include boulders that cascade down the mountainside and collide realistically with a player-controlled vehicle and a gravity ball that can attract a very large number of rigid body objects together and move around the screen without a hitch. The demo is running on PS3 hardware, but Ageia promises that a PC can run the same effects if it has an Ageia physics add-on card installed in the system.

Mit dieser Marketing-Krücke habe ich schon von Anfang an gerechnet:
Die Physikberechnung in der Playstation 3 ist so komplex, das sie nur mittels Ageia-Karte auf dem normalen PC dargestellt werden kann.

So ein Witz.

Die SPE's sind keine Wunderdinger, es wurde sogar mal gelästert, das sie für die "Game Play Physic" nicht sonderlich gut geeignet sind.

http://de.wikipedia.org/wiki/Cell


Linpack 1kx1k (DP) Peak GFLOPS Actual GFLOPS
8 SPUs, 3,2GHz 14,63 9.46
Pentium4 + SSE3, 3,6GHz 14,4 7,2

Und für Effect Physik(Fluid, Partikel, etc.) eignet sich eine Grafikkarte genausogut - hier macht sich der Konkurrenzkampf auf dem Grafikkartenmarkt positiv bemerkbar. Man bekommt für das gleiche Geld deutlich mehr an Transistoren mit höherem Takt im vergleich zur Ageia-Karte. Die Grafikkarten öffnen sich momentan dem Feld der General Purpose-Anwendung, siehe GPGPU und DPP von ATI. Ausserdem verbessert sich das Branching bei den Grafikkarten, und die Shader werden unified in der nächsten Generation, was zusätzlich positiv für solche Einsätze ist.

Grüße,
Tom

Gast
2006-05-01, 02:35:03
http://de.wikipedia.org/wiki/Cell


Linpack 1kx1k (DP) Peak GFLOPS Actual GFLOPS
8 SPUs, 3,2GHz 14,63 9.46
Pentium4 + SSE3, 3,6GHz 14,4 7,2


Daß Cell Double Precision nicht mag, ist ja auch nicht neu.

Gast
2006-05-01, 07:46:21
svenw[/POST]']Auch die Ageia Karte wird nur Effekt-Physik berechnen. Einfach aus dem Grund, das das Spiel auch ohne die Karte laufen muß. Die Spiele Physik wird immer auf der CPU berechnet werden, zumindestens solange bis sich Physiks on Graka/Ageia wirklich flächendeckend durchgestetzt haben.
Muß es nicht. Es reicht, wenn es auf dem Server läuft beim Multiplay. Abgesehen davon, mach im Singleplay deine Aussage keinen Sinn. Weshalb sollte nur Effekt-Physik dargestellt werden? Ist eine PhysX-Karte vorhanden, kann jede Physik damit berechnet werden, ist sie nicht vorhanden, dann muß die CPU arbeiten. Havok hat hier eine Aussage getroffen!!!

Tom

Gast
2006-05-01, 08:11:13
Eine Grafikkarte war und ist optimiert für Grafikkalkulationen. Das möge sie auch bitte bleiben. Für die Aufgabe ist ein Spezialchip angemessen, denn ich möchte hier keine Performance-Abstriche machen wollen, ihr etwa? Seit ihr etwa unglücklich darüber, dass die CPU die Grafikberechnung nicht mehr übernimmt?!? ATI/NVidia verhalten sich nun wie Intel zu MMX-Zeiten: "Ja, wir können mit MMX die Grafikdarstellung erheblich beschleunigen..." - Sicher! Spezialchips können das aber besser!
Nun gibt es weitere CPU-Resourcenfresser in Game-Engines. Z.B. Physik und KI. Hierfür möge man dedizierte Chips entwickeln, die diese Aufgabe auch bestmöglichst erledigen können.
Der einzige Nachteil dieser Überlegung sind die sich addierenden Preise für mehrere Chips/Karten. Hier sollte man zwischen günstig und teuer bei allen Spezialchips wählen können, wie bei CPUs und Grafikkarten.

Eine zweite Grafikkarte für Physikbeschleunigung ist im Sinne der derselben nur ein besserer, zweiter Prozessorkern.

Tom

Ailuros
2006-05-01, 19:51:45
Ageia's PhysX Prozessor wird schon in der 130nm Variante der 1900XT/7900GTX hinsichtlich gestalterischer Freiheit bei physikalischen Modellen und damit einhergehender sinnvoll nutzbarer Rechenleistung deutlich überlegen sein!

Das kann hoffentlich dokumentiert werden durch einen Link und zumindest theoretischen Zahlen oder?

Eine Grafikkarte war und ist optimiert für Grafikkalkulationen.

Nicht mehr ausschliesslich und in der absehbaren Zukunft konstant weniger. Deshalb gibt es Bezeichnungen wie GPGPU und natuerlich auch die gleichnamige Seite, fuer analoge Experimente.

Ich will mich gerne eines besseren belehren lassen, aber die bisherigen geleakten Informationen ueber Ageia's PPU haben mich bis jetzt auch nicht gerade so stark ueberzeugen koennen. Artikel mit heftiger Spekulation:

http://www.blachford.info/computer/articles/PhysX1.html

***edit: und hier etwas vorzeitige Realitaet:

http://www.beyond3d.com/forum/showthread.php?t=30280

Gast
2006-05-01, 21:58:54
Ailuros[/POST]']Das kann hoffentlich dokumentiert werden durch einen Link und zumindest theoretischen Zahlen oder?
Nein, konkret belegen kann ich diese Aussage nicht. Das ist aber auch nicht notwendig. Theoretische Zahlen sind sinnfrei und führen zu einem Äpfel-mit-Birnen Vergleich. Das müßte dir klar sein. Gigaflops einer auf Physikverarbeitung ausgerichteten Architektur vergleichst du nicht mit Gigaflops einer Grafikpipeline. Die Gigaflops-Zahlen von ATI/NV sind selbst für die Grafikverarbeitung ausgesprochen optimistische Angaben und werden in der Realität wohl kaum annähernd erreicht. Allein deshalb sind sie ohne Nutzen.

Eine auf Physikverarbeitung ausgerichtete Architektur sollte immer einer Grafikpipeline überlegen sein. Wenn Ageia nicht ein schwaches Design hingelegt hat, dann wird sich das mit PhysX bewahrheiten!

Der erste Forums-Link sagt gar nichts aus. Vielleicht wäre der gleiche Effekt auf einer Grafikkarte deutlich langsamer gewesen?! Darüber hinaus fehlen zu viel Details, um den Wert der Aussage nur halbwegs beurteilen zu können.
Außer Demos haben wir ja von ATI/NV noch gar nichts gesehen. Das alles wirkt eher wie ein Störmanöver. Wann werden die Grafikfirmen für uns wenigstens ein Level eines Spiel mit reichlich Physik umsetzen, so dass wir sehen was ihre Karten zu leisten vermögen?! Ageia bemüht sich diesbezüglich wenigsten!

Tom

Ailuros
2006-05-01, 22:39:46
Gast[/POST]']Nein, konkret belegen kann ich diese Aussage nicht. Das ist aber auch nicht notwendig. Theoretische Zahlen sind sinnfrei und führen zu einem Äpfel-mit-Birnen Vergleich. Das müßte dir klar sein. Gigaflops einer auf Physikverarbeitung ausgerichteten Architektur vergleichst du nicht mit Gigaflops einer Grafikpipeline. Die Gigaflops-Zahlen von ATI/NV sind selbst für die Grafikverarbeitung ausgesprochen optimistische Angaben und werden in der Realität wohl kaum annähernd erreicht. Allein deshalb sind sie ohne Nutzen.

Jein. Theoretische FLOP-Zahlen sind in allen Faellen nur rein theoretische Werte.

Eine auf Physikverarbeitung ausgerichtete Architektur sollte immer einer Grafikpipeline überlegen sein. Wenn Ageia nicht ein schwaches Design hingelegt hat, dann wird sich das mit PhysX bewahrheiten!

Muesste oder duerfte oder sollte reicht mir aber nicht aus. Wer und wieso genau sagt dass heutige GPUs nicht fuer Physik geeignet oder sogar optimiert sind?

http://www.guru3d.com/article/content/341/3/

By the time this interview will be published we'll see Ageia PhysX cards in-stock in the stores. Physics acceleration could very well be the next big thing in the graphics card industry. Much again a product that will rely on heavy support from the gaming industry. We all noticed the press-releases from both NVIDIA and ATI. Do your think that Physics acceleration should be a part of the graphics processor, as a stand-alone solution, or even a process that should be running over the CPU. Can you tell us a little about that ATI is planning precisely when it comes to physics acceleration.

I think better physics in games is one of the best advances, outside of graphics, that will be made in technology over the next two years. Physics is a real interest for ATI. It’s part of a larger story that is commonly known as GPGPU (General Purpose computation on Graphics Processing Units). As GPUs have grown in raw processing power, they are capable of performing more than the specific graphics computations for which we designed them. They are now capable coprocessors, and their speed makes them useful for a variety of applications. To give you an idea, the latest dual-core CPUs are able to handle around 10 GFLOPS. Our latest GPUs, by comparison, can handle around 375 GLOPS. That’s a huge difference. We can use a portion of that raw processing power to handle tasks like physics in a game. We talked about this back in September 2005, when we introduced the X1000 family of Radeon graphics cards to the press. Personally, I think an interesting gaming rig would include a set of CrossFire ATI video cards – where one card handles graphics and the other can handle physics in a game. When there are no physics to be calculated, you get the benefit of two powerful graphics cards that work with all games, all the time.



Der erste Forums-Link sagt gar nichts aus. Vielleicht wäre der gleiche Effekt auf einer Grafikkarte deutlich langsamer gewesen?! Darüber hinaus fehlen zu viel Details, um den Wert der Aussage nur halbwegs beurteilen zu können.

Blachford (im ersten Link) hat versucht die PPU so gut wie moeglich zu analysieren, natuerlich nur theoretisch und mit den ihm verfuegbaren bis jetzt Daten. Wo steht da was von Leistung?

Außer Demos haben wir ja von ATI/NV noch gar nichts gesehen. Das alles wirkt eher wie ein Störmanöver. Wann werden die Grafikfirmen für uns wenigstens ein Level eines Spiel mit reichlich Physik umsetzen, so dass wir sehen was ihre Karten zu leisten vermögen?! Ageia bemüht sich diesbezüglich wenigsten!

Und jetzt kommen wir wohl auf den zweiten Link wo ich bis jetzt echtes feedback von einer PPU lesen konnte wobei ich noch ein Auge zudruecke weil das Ganze noch ziemlich neu ist und ich etwas Toleranz aufweisen will. Bis jetzt sehe ich aber nichts dass mich vom Hocker reissen koennte sondern eher bis zu 28% Leistungs-reduktion fuer extra Effekte fuer die ich persoenlich keine 250 Euro auf den Ladentisch legen wuerde.

Was ATI/NVIDIA anstellt werden wir schon noch sehen. Und mit den Resourcen und Developer Beziehungen die die beiden haben, wuerde ich mir keine besonderen Sorgen machen. Um das geht es ja momentan gar nicht. Hier muss Ageia einen klaren Vorteil vorzeigen koennen und die ersten Eindruecke sind nicht gerade schmeichelnd.

Coda
2006-05-01, 23:04:08
Gast[/POST]']Eine Grafikkarte war und ist optimiert für Grafikkalkulationen.
Was ziemlich genau Streamprocessing ist und damit auch für Physik ganz gut geeignet ;)

deekey777
2006-05-01, 23:24:36
Ailuros[/POST]']Das kann hoffentlich dokumentiert werden durch einen Link und zumindest theoretischen Zahlen oder?

As for performance of the PPU vs. the GPU, the issue is one of efficiency and processing power. We think that even if Ageia’s PPU has 100% processing efficiency and ATI’s GPU has 80% efficiency, if the PPU only has 100 Gflops of processing power, and we have 375 in our GPU, we’ll still have a higher performing solution (those numbers are just examples, not proven stats, but I think you can understand how we’re looking at this).

http://www.firingsquad.com/hardware/ati_physics/page2.asp
Ist trotzdem zu viel PR-Blah.

Our solution is also more flexible, being equally capable of handling 3D graphics or processing physics so that it’s always in use. (Try asking Ageia if they can use their PPU to help render 3D graphics…).

Ist das der Grund für den FPS-Abfall?
Er hätte vielleicht die Auflösung herabsetzen sollen, um die Grafikkarten-Limitierung zu umgehen.

Ailuros
2006-05-02, 11:07:15
deekey777[/POST]']http://www.firingsquad.com/hardware/ati_physics/page2.asp
Ist trotzdem zu viel PR-Blah.

Und von Seiten AGEIA gibt es keinen einzigen Blitz von PR oder Marketing-Geblubber?

Selbst wenn eine R580 nur 50% von den theoretischen 375GFLOPs aufweisen koennte, schmier noch dynamisches branching dazu da wird die Rate noch hoeher.


Ist das der Grund für den FPS-Abfall?
Er hätte vielleicht die Auflösung herabsetzen sollen, um die Grafikkarten-Limitierung zu umgehen.

Im Overclocker Thread setzte jemand auf 800*600 runter auf einem multi-GPU System wenn ich mich nicht irre. Der Leistungsverlust war immer noch da. Es handelt sich wohl eher um eine Kommunikations-kruecke zwischen CPU-PPU-GPU am Ende, ueberhaupt wenn die benutzte PPU in diesem Thread auf einem einfachen PCI-slot laeuft.

***edit:

800x600 with all lowest options enabled, same story.

On

Explosion 35
Grenade 55
Gunshot 80

Off

Explosion 60
Grenade 90
Gunshot 110

http://forums.overclockers.co.uk/showpost.php?p=6951636&postcount=95

/dev/NULL
2006-05-02, 12:25:16
Interessant fand ich in der c't die Aussage das nur ein (Server) eine Physix Karte braucht und die Physikeffekte berechnet, die Clients/Spieler diese nur anzeigen müßen.

Wenn ich mal wieder Egoshooter spielen würde wäre das sicher interessant, ich weiß noch wie ich dank glquake und meiner 3dfx Vodoo1 selbst mit dem Cyris 166+ am schnellsten war.

Und im Vergleich zu den GPU Ansätzen kann eine Aegia Karte mehr als nur Effekte berechnen bei der GPU ist das angeblich nicht möglich. Sobald mal ne Kritische Masse an Games das nutzt wird das in ein paar Jahren eh in jedem besseren Game sein und entweder von ATI oder NVidia gekauft werden.. die Grundsteine für die Grafik heute liegen ja auch bei 3dfx

Ailuros
2006-05-02, 20:42:07
Gott sei Dank liegen die Grundsteine von 3D nicht bei 3dfx alleine.

Falls sich das Ganze auf APIs beziehen sollte, werden die grossen Grafik-IHVs wohl dementsprechenden Druck ausueben fuer einen kleinen Bonus von Microsoft. Was daraus wird steht noch in den Sternen.

mocad_tom
2006-05-02, 23:01:00
:uattack4:


I knew this would happen. Saw this coming last year.
The card is nothing but a "decelerator" aka S3 ViRGe.
The s3 virge was a "graphics improver". a decelerator. Just like this card.
It improves the physics yet slows down everything that matters.


Ein decelerator ;D

Nur Komisch das ich dieses Problem letztes Jahr auch schon mal angesprochen habe. Damals war ich aber noch der Überzeugung, das der Cell-Prozessor besser wird:
http://www.planet3dnow.de/vbulletin/showthread.php?t=204449&page=7&highlight=physx#post2144159

Damals musste ich mir den NovodeX-SDK runterladen und Ihn etwas genauer ansehen, nur um bei der Diskussion nicht den Kürzeren zu ziehen:

Die Kapselung von NovodeX sieht OpenGL sehr ähnlich(war nicht anders zu erwarten), allerdings sehe ich keine Übergabe von der Physics-Engine zu OpenGL -> Keine Möglichkeit des interaktiven eingreifens.

gScene->simulate(1.0f/60.0f);
gScene->flushStream(); // Physik-Berechnung
gScene->fetchResults(NX_RIGID_BODY_FINISHED, true);

....OpenGL-Szenen-Initialisierung....

gScene->visualize(); // OpenGL-Ausgabe

Für Objekte, die miteinander Kollidieren, müssen Callback-Funktionen initialisiert werden.

Ich vermute jede Kollision, die mit einer CallBack-Funktion verknüpft ist erzeugt für sich Last auf dem Bus.
Laut Docu kann man auch auf Kollision pollen, was sich aber auch Ressourcenintensiv anhört
Will man die Kollision Out-Of-The-Box aus diesem SDK übernehmen kann der Rückkanal nicht gut genug sein.


>Bei den Grafikkarten wird dies ja auch nicht als Nachteil
>gesehen -- im Gegenteil.

Dort geht es ja auch nur in eine Richtung Hauptspeicher->Grafikkarte->Monitorausgang



@Ailuros:
Der ganze Weg lautet eigentlich so:
CPU -> PPU -> CPU -> GPU

Diese Konstellation funktioniert schon wegen des APIs nicht:
CPU -> PPU -> GPU

@dev/NULL
Blos weil *Dumm-c't-Autor* schreibt das nur eine PPU-Karte für den Server benötigt wird heisst dies noch lange nicht das dies stimmt. Überlege mal - bei normalen Multiplayer-Games werden die Positionen von 50 Playern übertragen - bei PPU-Games müssten plötzlich 32000 Positionen(Anzahl der berechenbaren Elemente) pro Frame übertragen werden.

Grüße,
Tom

Ailuros
2006-05-03, 04:00:46
mocad_tom[/POST]']
@Ailuros:
Der ganze Weg lautet eigentlich so:
CPU -> PPU -> CPU -> GPU

Diese Konstellation funktioniert schon wegen des APIs nicht:
CPU -> PPU -> GPU



Danke. Ich hab eben die dumme Angewohnheit vieles zu vereinfachen ;)

[LOG]Skar
2006-05-04, 10:35:38
Man muss so oder so die Daten aller relevanten Gegenstände, allen Clients übermitteln. Ob es nun der Server berechnet oder der Client. Das Nadelöhr ist bei solchen Objektanzahlen dann eh die Anbindung. Aber im LAN sollte es langen, wenn einer eine Physikkarte hat.

Ich sehe aber immer noch keinen Vorteil für die Grafikkarten Lösung. Und der ct Artikel bestärkt mich darin. Also wenn Zusatzkarte dann Agaia!

Agaia Physik vs. nVidia

Effektphysik*:_________+ | +
Spielphysik**:_________+ | -
_Objekte ***:___32.000+ | 15000+
_____Partikel:_max.50.000 | (keine Aussage)
_______Preis:_______300€ | 500€+ (7900-GTX)

*Physik nicht relevant fürs Gameplay z.B. CSS
**Physik relevant fürs Gameplay z.B. HL2
*** kleinere Objekte wie z.B. Steine

Avalox@Gast
2006-05-04, 11:01:56
Der c’t Artikel hat ja Havok oder besser den Grafikkarten Shader basierenden Ansatz ganz schön desillusioniert, oder besser konkretisiert.

In deiner Vergleichstabelle sind ja die komplexen Agaia Objekten, einfachst Havok Objekten gegenüber gestellt. C’t spricht im Vergleich von einigen Tausen Havok Objekten. Also doch sehr schon deutlich unter den 15000 Objekten der Havok Promo Demo.

Ailuros
2006-05-04, 14:23:26
http://www.hexus.net/content/item.php?item=5492&page=1