Physikberechnung mit der 3D-Karte
Exklusive 3D-Tests mit ATI
Physik-Berechnungen auf der Grafikkarte
Physikberechnung mit der 3D-Karte
Bei 3D-Anwendungen und Spielen zaubern die neuesten Grafikkarten aufwändigste Szenen in verblüffender grafischer Qualität auf den Bildschirm. Massives Handicap bei den virtuellen 3D-Welten ist aber die sehr rudimentäre Umsetzung der physikalischen Effekte, zum Beispiel bei Rauch, Flüssigkeiten oder Explosionen. Diese sind aber für eine korrekte Simulation unabdingbar. Die Physik-Berechnungen soll zukünftig ebenfalls die Grafikkarte mit hoher Geschwindigkeit übernehmen. Exklusiv konnte PC Professionell erste Tests mit einem Referenzsystem von ATI fahren, bei dem Physik-Berechnungen auf die Grafikkarte übertragen werden können. Voraussetzung dafür ist ein speziell angepasster und vorerst streng unter Verschluss gehaltener Grafikkartentreiber. Das verwendete System nutzt zwei Grafikkarten: die eine für die 3D-, die andere für die Physik-Berechnungen.
Grenzen der Technik
Wenn wir eine Tasse fallen lassen, zwingt die Schwerkraft diese zum Boden. Alleine diesen Effekt in 3D-Software umzusetzen, bedeutet großen Programmier- und Rechenaufwand. Noch komplizierter wird es, für mehrere Objekte die kinetischen Eigenschaften aufgrund physikalischer Gesetzmäßigkeiten nachzubilden. Beispielsweise wenn eine schwere Kugel durch eine Wand aus 4098 Ziegelsteinen schlägt (siehe Screenshots links). Mit derzeitiger PC-Soft- und Hardware ist es nicht möglich, die Bewegung der auseinanderfliegenden Steine in Echtzeit zu berechnen, wenn der Einfluss der Erdbeschleunigung und die Wechselwirkung der Steine mit der Kugel und der Steine untereinander einkalkuliert werden sollen. ATI setzt bei der Physik-Berechnung auf die Havok-FX-Schnittstelle. 3D-Entwickler, die bei ihrer Software zur Umsetzung von Physik-Effekten die Havok-FX-Engine verwenden (siehe Kasten »Physik-Schnittstellen«), können auf die Funktionen der Grafikkarte zurückgreifen. Die gerade erwähnte Szene mit der Ziegelsteinwand und der auftreffenden Kugel ist eine der Software-Demos, die Havok für Entwickler bereitstellt, um das Leistungspotenzial entsprechend angepasster Hard- und Software zu zeigen.
Leistungsplus bis zu 1280 Prozent
Physikberechnung mit der 3D-Karte
Die Leistungsunterschiede sind gravierend: Werden die Berechnungen alleine AMDs schnellstem Dual-Core-Prozessor Athlon 64 FX-62 überlassen, stürzt der Trümmerhaufen gerade einmal mit 5 Bildern in der Sekunde ein ? der Bildaufbau kommt spürbar ins Stocken. Werden die Physik-Berechnungen dagegen einer schnellen Radeon-X1900-XTX-Grafikkarte übertragen, läuft die Bildsequenz mit rund 40 Frames/s absolut flüssig ab.
Auf der rechten Seite finden sie die gemessenen Frameraten bei weiteren Demos. In der Boulder-Demo stürzen 20 000 Steine einen Abhang herunter. Mit der Rechenleistung der Grafikkarte wird dies fast sechsmal schneller berechnet als von der CPU alleine. Daher der Unterschied zwischen ruckelnden Bildern und fließendem Bildaufbau. Bei der Chess-Demo fallen 4000 Schachfiguren von oben auf einen Tisch und von dort wieder herunter. Siebenmal fixer ist hier die Radeon-X1900-XTX-Grafikkarte bei der Physik-Berechnung als der Prozessor. Den höchsten Leistungsgewinn gibt es in der Junk-Vortex-Demo, bei der diverse Objekte in einem hurrikanähnlichem Luftstrom herumgewirbelt werden: Fast 13-mal schneller ist der Prozessor einer Grafikkarte.
Auch Grafikleistung zählt
Die Anzahl der Frameraten hängt von der Rechenleistung der Grafikkarte ab, die für die Physikberechnungen verwendet wird. Die Tests führen wir daher jeweils zusätzlich zum Radeon-X1900-XTX-Spitzenmodell auch mit einer Mittelklasse-Karte der Radeon-X1600-XT-Serie durch. Je nach Demo und Anzahl der bewegten Objekte arbeitet die schwächere Karte bei der Physik-Berechnung 25 bis 45 Prozent langsamer als die Top-Karte. Prinzipiell ist die Physik-Beschleunigung laut ATI bei allen Modellen der Radeon-X1000-Serie möglich. Die Tests zeigen jedoch, dass es erst ab den Modellen der X1600-Reihe sinnvoll ist. Bei den Radeon-X1300-Grafikkarten dürfte die Rechenleistung zu schwach ausfallen. Prinzipiell soll es auch möglich sein, sowohl die 3D- wie die Physik-Berechnungen gemeinsam auf einer einzigen Grafikkarte auszuführen. Da die 3D-Pipelines der neuesten Grafikchips ohnehin hochgradig parallel ausgelegt sind, wäre es kein Problem, die Berechnungen gleichzeitig abzuarbeiten. Allerdings dürfte dies aufgrund der hohen Rechenlast nur bei den allerschnellsten Grafikkarten sinnvoll sein.
2007 – Jahr der Physik
Physikberechnung mit der 3D-Karte
Die Leistungsgewinne im ersten Test sprechen für die neue Technik. Mit neueren Treibern will ATI die Physik-Leistung sogar noch einmal verdoppeln können. Mit der Übernahme der Physik-Beschleunigung durch die Grafikkarte wird das Thema bis spätestens 2007 in aller Munde sein. Bis auf einen angepassten Grafikkartentreiber sind hardware-seitig keine Änderungen notwendig. Nvidia arbeitet an vergleichbaren Funktionen und nutzt ebenfalls die Havok-FX-Schnittstelle. Damit ist zumindest ein Standard-Wirrwarr zunächst ausgeschlossen. Für den Erfolg sind aber zunächst die 3D-Software-Anbieter verantwortlich, die entsprechende Funktionen in ihren Produkten erst noch nutzen müssen. Erste Spiele mit Havok-FX-Physik wie “Alone in the Dark 4” und “Hellgate – London” sind für Anfang 2007 angekündigt. Bis dahin will ATI seine Physik-Treiber auch offiziell allen Nutzern zur Verfügung stellen.
Technik
Die Physik-Engines von Havok oder Ageia sind bereits heute die Grundlage für viele Action- und 3D-Spiele.
Bei der Havok-Engine berechnet die CPU die physikalischen Animationen in Computerspielen. Havok FX setzt dagegen auf die Hardwarebeschleunigung der Grafikkarten. Dank ihrer Architektur sind Grafikchips besser für Physikberechnung ausgelegt als Desktop-CPUs. So schafft etwa der Nvidia Geforce 7900 GTX rund 250 Gigaflops, ein Intel Pentium 4 (3,4 GHz) kommt nur auf etwa 30 Gigaflops. ATI und Nvidia arbeiten eng mit Havok zusammen, um die Physikberechnung ihrer GPUs mit der Havok-FX-Engine zu optimieren. Voraussetzung: Die Grafikkarte muss das Shader Model 3.0 unterstützen. Bei Nvidia sind dies alle Geforce-6- und -7-Karten, bei ATI alle X1000er-Modelle. Ageia (www.ageia.com) versucht es derzeit mit einer dedizierten Physik-Beschleuniger-Karte für rund 250 Euro. Bei Spielen wie »Ghost Recon ? Advanced Warfighter« sorgt die Ageia-Karte für zusätzliche Effekte bei Explosionen. Ageia wird es sehr schwer haben, wenn es physikberechnete Elemente bei der Grafikkarte gleich kostenlos dazu gibt. Die Physik-Engines von Ageia und Havok geben den 3D-Spieleentwicklern einen Satz von vordefinierten Funktionen vor. Die Entwickler können auf diese zugreifen, ohne selbst progammieren zu müssen.
Messungen
Jede Demo wird dreimal durchlaufen. Die Physikberechnungen übernehmen dabei einmal die CPU, einmal eine Radeon X1600-XT und einmal eine Highendkarte Radeon X1900-XTX.