Grafikkarte mal anders: Das leisten Nvidia CUDA und PhysX heutzutage

 4/13
Wolfgang Andermahr
162 Kommentare

Nvidia PhysX Part 2 und SLI-PhysX

Vor einigen Tagen ist für die Presse ein PhysX-Treiber erschienen, der weitere Spiele in den Genuss von Nvidia-PhysX auf der GPU kommen lässt. Darunter sind auch einige Alpha-Programme, die noch lange nicht fertig sind und erst in einigen Monaten den Weg in die Händlerregale finden werden. Nvidia möchte damit einen kleinen Einblick in die Zukunft von PhysX geben. Ab dem 12. August wird das gesamte PhysX-Paket, die Treiber inklusive der Software, für die Öffentlichkeit zur Verfügung gestellt.

Kompatibel ist unter anderem das kostenlose Spiel „Warmonger“, das explizit für PhysX-Hardware entwickelt worden ist und ohne diese nur unspielbare Frameraten erzeugt. Umher fliegende Elemente, die mit der Umgebung interagieren, sowie zerstörbare Tücher sind nur zwei Gründe, weswegen ein Hauptprozessor überfordert ist. Hinzu gesellt sich das Spiel „Ghost Recon Advanced Warfighter 2“, das die PhysX-Hardware allerdings nur bedingt benutzt. Vor allem durch neu hinzugekommene Partikeleffekte kann das Spielerlebnis dennoch profitieren.

Als frühe Alpha-Versionen steuert Nvidia eine Techdemo des Spiels „Nurien“ bei, in dem es eine kleine Modenschau zu begutachten gibt. Durch die Bewegungen der Models flattert die gesamte Kleider physikalisch korrekt berechnet an der Darstellerin umher. Die zweite Alpha-Version stammt von einem Multiplayer-First-Person-Shooter namens Metal Knight Zero. Aufgrund des noch unfertigen Status' bereitete uns das Programm jedoch einige Schwierigkeiten. Den Abschluss macht dann die von Nvidia selbst programmierte Techdemo Nvidia Particle Fluids, die einen Wasserverlauf simuliert.

Mutli-GPU-PhysX
Mutli-GPU-PhysX

In absehbarer Zeit werden weitere neue Spiele auf den Markt mit Nvidia-PhysX auf der GPU kommen. Dazu gehören unter anderem das Football-Spiel „Backbreaker“ von Natural Motion, „Bionic Commando“ von GRIN, „Borderlands“ von Gearbox, „Shadow Harvest“ von Black Lion, „Space Siege“ von GPG, „Mirrors Edge“ von DICE, „MStar“ von Nurien und „APB“ von Realtime Worlds. Wie PhysX in den Anwendungen genau funktionieren wird, kann bisher nur vermutet werden. Einige Details zu Backbreaker haben wir in diesem Zusammenhang bereits vor einiger Zeit in einer News zusammengefasst.

Und was passiert mit PhysX, wenn zwei Nvidia-Grafikkarten in einem SLI-System installiert sind? Nvidias PhysX-Implementierung bietet bei zwei 3D-Beschleunigern zwei verschiedene Modi an: Den „SLI“- sowie den „Multi GPU“-Modus. Im SLI-Modus rendern beide Grafikkarten wie gewohnt an zwei verschiedenen Bildern im AFR-Modus und berechnen zugleich auch die Physik. Aktuell funktioniert das aber nur in wenigen Anwendungen, weswegen Nvidia generell empfiehlt, bei PhysX-Spielen den Multi-GPU-Modus zu aktivieren.

In diesem kümmert sich eine Grafikkarte um das Rendern der 3D-Grafik, während die andere alleine für PhysX zuständig ist. Dabei kann die zweite Grafikkarte durchaus auch zu einer anderen Generation gehören (GeForce 8 anstatt GeForce GTX 200), einzig die CUDA-Fähigkeit muss gegeben sein. Man kann zum Beispiel eine GeForce GTX 280 (Grafik) mit einer GeForce 9500 GT (PhysX) kombinieren, wobei ein SLI-Mainboard in diesem Fall keine Voraussetzung ist. Der Mischbetrieb einer Radeon- mit einer GeForce-Karte ist aber nicht möglich, da Windows Vista zwei verschiedene Grafikkartentreiber nicht akzeptiert.

Nvidia Multi-GPU-PhysX
Nvidia Multi-GPU-PhysX

Im PhysX-Control-Panel kann man nun auswählen, auf welcher Grafikkarte PhysX berechnet werden soll. Aktuell gibt es unter Windows Vista jedoch noch eine störende Limitierung, die Nvidia in Zukunft mit einem Workaround mindern möchte (Windows XP ist aufgrund des anderen Treibermodels nicht betroffen). So ist es unter Windows Vista notwendig, dass entweder ein zweiter Monitor oder alternativ derselbe Monitor mit einem anderen Kabel an die PhysX-GeForce-Karte angeschlossen sein muss, obwohl diese kein Bild berechnet. Zusätzlich muss man den Windows-Desktop auf den zweiten bzw. dem einzelnen Monitor erweitern.

Beide sind aktuell allerdings noch in einem sehr frühen Stadium und sollen mit den nächsten Treiberversionen verbessert werden.