Nvidia PhysX: CPU-Version absichtlich mit schlechtem Programmcode versehen?

Real World Technologies hat einen Artikel veröffentlicht, der sich mit der CPU-Version von Nvidias-PhysX auseinandersetzt. Zwei Demos „Cryostasis Tech-Demo“ und die „Dark Basic PhysX Soft-Body-Demo“ dienten als Fundament für eine Analyse durch „Intel VTune“, ein professionelles Tool für Software-Entwickler. Die Daten des Tools enthalten Informationen über alle laufenden Prozesse, deren Threads, Laufzeit, Befehlszyklen und Befehlsarten. Das Tool ermöglicht es Programmierern Leistungsbremsen bei der Ausführung zu erkennen.

Bei beiden Demos beansprucht jeweils ein Thread mit 79,2% und 73,9% die meiste Leistung. In diesen Threads ist die PhysXCore.dll für 99,8% und 99,4% der verarbeiteten Befehle verantwortlich. Zufolge des Autor David Kanter nutzt die PhysXCore.dll sogenannte x87-Befehle für Gleitkomma-Berechnungen, obwohl Intel seit dem Jahr 2000 und AMD seit 2003 von der Verwendung abraten.
Die seit damals vorhandenen SSE-Funktionen oder die seit 2005 durch jeden neuen Prozessor unterstützten SSE2-Befehle ignoriert PhysX damit gänzlich, obwohl diese sowohl deutlich schneller verarbeitet werden als auch beim Speicherzugriff signifikante Vorteile bieten. Die doppelte Genauigkeit von x87 kann laut Kanter kein treffendes Argument dafür sein, da PhysX auch auf der G80-GPU von Nvidia funktioniert, die doppelte Genauigkeit nicht unterstützt. Außerdem kann alter Programmcode ebenfalls keine Ursache für die Performanceprobleme sein, da Nvidia den Quellcode jederzeit ändern und kompilieren kann. Zu mindestens sollten modernen CPUs durch den alten Code nicht bewusst verlangsamt werden.

Die Leistung von PhysX auf Nvidia-Grafikkarten wirkt aber durch den Einsatz von x87 im Vergleich zu Prozessoren viel beeindruckender, obwohl moderne CPUs bei entsprechender Programmierung schon mit zwei bis drei Kernen nach Aussagen von David Kanter mindestens die gleiche Leistung bieten könnten.
Bereits der Prozessorhersteller AMD hatte Nvidia ähnliches vorgeworfen, jedoch wies Nvidia diese Vorwürfe strikt von sich ab.

Für Fragen, Hinweise, Meinungen oder sogar eigene Erfahrungen zum Produkt bitte die Kommentarfunktion etwas weiter unten nutzen, oder direkt im Technic3D-Forum posten.
Veröffentlicht:

Kategorie: Sonstiges
Kommentare: 0