[PCGH exklusiv] Interview mit Physx-Erfinder: Physx schon bald für mehrere GPUs
Von unabhängigen Physikkartenentwickler Ageia zum Nvidia-Imperium - die Physx-Erfinder Manju Hedge und Curtis Davis im PC-Games-Hardware-Interview.
PCGH im Interview mit Curtis Davis und Manju Hedge von Nvidia
2002 gründeten Manju Hedge und Curtis Davis im kalifornischen Santa Clara Ageia Technologies. Ihr Ziel: die Entwicklung einer Physik-Engine, die realistische Physikeffekte wie Explosionen, Nebel und Rauch sowie Kleidungsstrukturen schnell und so naturgetreu wie möglich berechnen konnte.
Das Ergebnis hieß Physx und lief entweder als Software-Lösung auf der CPU oder auf einer eigens entwickelten Physx-Physikkarte, die alle Berechnungen selbst ausführte und damit die CPU entlastete. Die Physx-Karte konnte sich jedoch nicht so durchsetzen, wie es sich die Entwickler gedacht hatten. Grund dafür war unter anderem die Entwicklung von Havok FX, einer Physiklösung der Konkurrenzfirma Havok, deren gleichnamige Physik-Engine schon im Jahr 2000 erstmal vorgestellt wurde und von Entwicklern breite Unterstützung erfuhr. Das nach dem Aufkauf von Havok durch Intel eingestellte Havok FX lagerte Physikberechnungen auf Ati- und Nvidia-Grafikkarten aus und erreichte so das Ziel der Ageia-Gründer - ohne zusätzliche Hardware.
Im Februar dieses Jahres kaufte Nvidia Ageia und damit die Rechte an der Physx-Engine, die jetzt als reine Software-Lösung komplett in CUDA läuft. Wir sprachen mit Manju Hedge, der heute als Vice President Physx Solutions bei Nvidia für die Zusammenarbeit mit Entwicklern zuständig ist, und mit seinem Kollegen Curtis Davis, bei dem als Vice President Physx alle Fragen in Sachen Programmierung zusammen laufen.
PCGH: Wenn man auf die Geschichte von Ageia zurückblickt, könnte man sich fragen: Warum sind die Burschen nicht schon damals direkt an einen Grafikkartenhersteller wie Nvidia oder Ati herangetreten, um ihre Engine dort unterzubringen? Warum die Mühen einer eigenen Firma mit einer externen Physikkartenproduktion auf sich nehmen?
Manju Hedge: Wir haben damals in der Tat überlegt, mit einer Grafikkartenfirma zusammenzuarbeiten - die besaßen schließlich komfortablere Tools und mehr Möglichkeiten. Als Start-up-Firma mussten wir unsere Zeit zwischen dem Entwickeln solcher Tools und dem Vermarkten unserer Ideen aufteilen. Aber als wir uns 2004 die GPU-Architektur angesehen haben - damals gab es noch keinen G80-Chip -, waren wir nicht allzu begeistert, denn sie besaßen keine guten Branch-Fähigkeiten und keinen gemeinsam genutzten Speicher.
PCGH: Wie schwer war es, die PhysX-Technik jetzt an Nvidia-GPUs anzupassen?
Curtis Davis: Verglichen mit der CPU-Version der Physx-Engine war die GPU-Fassung viel einfacher - das CUDA-Toolset ist prächtig. Für die Umsetzung haben wir gerade mal drei Monate gebraucht. Zum Vergleich: Die Entwicklung unserer eigenen PPU-Routinen hat neun Monate gedauert.
PCGH: Der große Vorteil des PCs ist ja, dass er verglichen mit Konsolen wie der Xbox 360 oder der Playstation 3 ein offenes System ist, das ständig erweitert werden kann. Besteht mit Nvidias Integration der PhysX-Engine nicht die Gefahr, dass es hier zu neuen Grabenkämpfen kommen könnte, Motto: "Unser Spiel läuft nur mit Nvidia-Karten wirklich so gut wie gedacht"? Müssen Spielentwickler jetzt zwei Versionen ihrer Titel programmieren - eine für Nvidia- und eine für alle anderen Grafikkartenbesitzer?
Manju Hedge: Das haben wir im kleinen Maßstab schon bei Ageia gesehen: Manche Hardcore-Spieler haben sich unsere Karte gekauft und waren begeistert, einige Entwickler haben sie unterstützt, andere allerdings nicht. Heute sehen wir statt einiger hunderttausend Physx-Karten eine installierte Basis von über 90 Millionen CUDA-fähigen Nvidia-Karten - das macht schon einen Unterschied. Doch diese 90 Millionen besitzen nicht alle die gleichen Fähigkeiten beziehungsweise sind nicht alle gleich leistungsfähig. Deswegen passt unsere APEX-Entwicklungsumgebung den Einsatz der Physx-Engine an die jeweilige GPU an. Das funktioniert auch über den PC hinaus, etwa wenn ein Entwickler eine Playstation-3- oder eine Xbox-360-Fassung seines Spiels herausbringen will.
PCGH: Schön und gut - doch was wir im Vorfeld der E3 bei einer Vorführung von Stoffeffekten gesehen haben, war ein starker Leistungseinbruch bei einem PC, der bei den Physikberechnungen nicht auf eine Nvidia-Karte mit Physx-Support zurückgreifen konnte. Noch einmal: Wie sieht es leistungstechnisch für Spieler aus, die keine Nvidia-Karte besitzen?
Manju Hedge: Damals hatten wir noch nicht die APEX-Skalierung implementiert, von der ich gerade gesprochen hatte. Wenn es keine Physx-fähige GPU gibt und die CPU nicht leistungsstark genug ist, könnte ein Zerreiß-Effekt des Stoffes als Animation dargestellt werden oder er besitzt weniger Zerreißpunkte. Das ist der große Unterschied: Bei Ageia mussten wir die Hersteller überzeugen, eine eigens an unser System angepasste Version ihres Spiels zu schreiben, jetzt wird das automatisch skaliert.
PCGH: Das heißt jedoch noch immer, dass manche Spiele mit aktivierten Physikeffekten möglicherweise nicht ganz so flink laufen, wie sich das die Entwickler wünschen würden.
Manju Hedge: Klar. Das ist der geschäftstechnische Kompromiss, den wir derzeit eingehen müssen. Es ist einerseits gut, dass wir etwas haben, was nur auf unseren Karten läuft, andererseits wäre es natürlich noch besser, keine solchen Barrieren zu haben und allen Entwicklern die gleiche Plattform zur Verfügung zu stellen.
PCGH: Angenommen, ich besitze einen PC mit mehreren Grafikkarten oder einer Multiprozessor-Karte, sehe ich dann auch bessere Physikeffekte in meinen Spielen?
Manju Hedge: Das hängt stark davon ab, wie das Spiel programmiert wurde und welche Art von Physikeffekten darin zum Einsatz kommt. Manche Effekte können losgelöst vom Rest der Grafik laufen und skaliert werden, etwa Partikelsysteme. Außerdem darf man die GPU-Geschwindigkeit nicht vergessen, eine 9800-Karte unterscheidet sich beispielsweise von einer GT200 - das mag eine lineare Skalierung erschweren. Es hängt wie gesagt stark davon ab, wie und wie stark der Entwickler Physikeffekte einsetzt.
Curtis Davis: Derzeit unterstützt CUDA nur eine GPU, was sich in Zukunft aber durchaus ändern kann. Also würde es in Sachen Physx momentan eher Sinn machen, zu einer schnelleren Karte zu greifen, anstatt sich mehrere Karten in den PC zu stecken.
PCGH: Wann wird PhysX mehrere GPUs unterstützen?
Manju Hedge: In ein paar Monaten, in weniger als einem halben Jahr.
Curtis Davis: Mit ein paar Tricks kann man das schon heute unter Windows XP hinbekommen, aber das ist noch eine ziemliche Frickelei mit mehreren Displays.
PCGH: Könnte man nicht auch theoretisch ein System mit einer Radeon-Karte für die primäre Grafikdarstellung und einer Nvidia-Karte für die Physik-Berechnungen bauen?
Manju Hedge: (lacht) Das ist eine interessante Idee.
Curtis Davis: Ich habe von Leuten gehört, die von einer 8800 zu einer GT280 gewechselt sind und die alte Karte für Physx-Berechnungen im PC gelassen haben.
Manju Hedge: Das wäre auch mein Rat: Wer sich im nächsten Jahr eine neue Grafikkarte kauft, sollte die alte Nvidia-Karte einfach behalten, sie wird auch dann noch problemlos Physx unterstützen können.
PCGH: Wie sieht die Zusammenarbeit mit Microsoft aus? Was sagt beispielsweise das Direct-X-Team zu Physx?
Manju Hedge: Die haben witzigerweise schon 2004 gesagt: Warum nutzt ihr nicht die GPU, um damit Physikeffekte zu berechnen? Die Frage dürften wir jetzt zufriedenstellend beantwortet haben. Wir stehen aber in einem andauernden Dialog mit Microsoft, sowohl als Nvidia insgesamt als auch mit dem Physx-Team.
PCGH: Welche Reaktionen gab es von Seiten der Spielentwickler bisher zur neuen PhysX-Sachlage?
Manju Hedge: Sehr positiv. Erstens, weil sie sich jetzt weniger Sorgen um die Skalierung machen müssen. Zweitens, weil sie mit einem Schlag eine gewaltige Nutzerbasis bekommen haben. Drittens: Der Flaschenhals für Physiksimulationen wird durch Beleuchtung, Rendering und dynamische Geometrie definiert, doch mit der aktuellen Grafikartengeneration wird das Problem immer kleiner.
Curtis Davis: Auch Konsolenentwickler sind sehr an unserer Technologie interessiert. Wir haben unsere Anstrengungen in diese Richtung intensiviert und laufen zum Beispiel auf der Xbox 360 drei- bis viermal, auf der PlayStation 3 zweimal so schnell wie bisher. Das gibt den Entwicklern mehr Freiräume für ihre Spiele.
PCGH: Werden wir Physx jemals auf Nintendos Wii sehen?
Manju Hedge: Das ist ein weiteres Beispiel für unsere Konsolenfreundlichkeit: Es gibt erstmals eine Beta-Version von PhysX für die Wii-Konsole, wir warten nur noch darauf, dass Nintendo diese absegnet.
PCGH: Intel hat sich Havok geschnappt, AMD arbeitet jetzt an der Havok-Unterstützung ihrer Prozessoren - könnte eines Tages auch AMD Physx-Lizenznehmer sein?
Manju Hedge: Alles, was ich dazu sagen kann ist: Wir sind selbstverständlich für alle Angebote offen, die geschäftstechnisch Sinn machen.
PCGH: Vielen Dank für das Gespräch!
Das Interview führte Roland Austinat.
Diese ganzen Meldungen lesen sich immer wie "PhysX jetzt zwanzig mal schneller bei Nichts". Trotzdem gibt es schon heute Leute, die das kaufen und sich dann wochenlang mit den vorhandenen Techdemos und den 3 UT3-PhysX-Levels aufhalten.
Die PPU wurden nicht gekauft weil sie einfach zuteuer waren, kein Mensch wollte sich für 200.- (heute gibt es für den selben Preis eine 4870 oder GTX 260!!!!) eine Karte kaufen die kaum schneller (2-4 schneller sind die) war als eine CPU, hingegen ist heute bereits eine 9600GT für 70.- deutlich schneller als eine alte PPU oder eine Quad Core CPU!
Zudem gehört die PhysX auch nicht auf die CPU, da die einfach viel zu langsam ist und die CPU viel wichtigere sachen Berechnen muss, zb. die KI. Gerade da könnte man noch extrem viel raus holen, früher hiess es immer das die CPU für eine Aufwändige KI zu langsam ist, jetzt mit den Quad Core hat sich da aber bis jetzt so gut wie nichts getan!
OpenCL FTW!
Da laufen dann alle extremen berechnungen sowieso auf jeder DX11 GPU ab...
Du weist aber schon das in DX11 mehr oder weniger Cuda drin sein soll? und was hat den DX11 mit PhysX zutun, völlig was anderes...
Ich warte nur noch auf meine neue 3870 und dann wird das sofort getestet, ob meine 8600 GT nebenher PhysX kann.
Wird wohl nie gehen, da Vista nur einen Grafikkarten Treiber laden kann
Ich warte nur noch auf meine neue 3870 und dann wird das sofort getestet, ob meine 8600 GT nebenher PhysX kann.
Ich finde es schon Witzig . Alle haben die PPU gemieden aus zwei Gründen . Erstens : eine Zusatzkarte kommt mir nicht in den Rechner (Platz) und zweitens wegen dem zusätzlichen Stromverbrauch . Jetzt hört man von den Stimmen nichts mehr , selbst nach dem man gemerkt hat das man eine sehr starke GK braucht um PhysiX und die normal Arbeit zu erledigen . Na ja , wir werden sehen wo es hin geht .Die Entwickler sollten lieber lernen die Möglichkeiten der jetzigen Technik zu nutzen . Mehrkern CPU sage ich nur . Ist nicht so schnell wie GPU , aber die Leistung ist ohne einbussen zu nutzen , da kein Spiel alle Kerne auslastet . Es hängt wieder an den Entwicklern . Hoffe die bewegen mal ihren Ars.....
Darum gehts ja hier, ob Physx wichtig ist oder nicht ist ein anderes Thema.
Manju Hedge: (lacht) Das ist eine interessante Idee.
Ich warte nur noch auf meine neue 3870 und dann wird das sofort getestet, ob meine 8600 GT nebenher PhysX kann.