seesharp schrieb:
Da müssten die CPUs also schon ordentlich zulegen, um das zu schaffen (ca. Faktor 1000).
Naja. Ganz so schlimm ist es auch nicht. Laut theoretischen Berechnungen müsste eine single core CPU ungefähr 50 mal schneller werden um die Leistung der PPU zu erreichen. Das ist aber alles nur sehr theoretisch und muss nicht unbedingt was mit der Realität zu tun haben.
In Wirklichkeit dürfte die CPU nämlich noch weiter zurückliegen. Der Faktor 50 kommt nämlich unter der Bedingung zustande, dass der Prozessor jede Berechnung auch verwendet.
Das ist aber in der Realität nicht der Fall. Da normale CPUs eine recht lange Pipeline haben in der die Befehle stecken ist es ziemlich fatal, wenn diese verworfen werden muss, weil die Branchprediction nicht korrekt funktioniert hat. Dann wurden jede Menge Berechnungen umsonst durchgeführt und müssen nochmal erneut berechnet werden. Die PPU hat dieses Problem nicht.
Was der CPU auch fehlt ist die riesige interne Speicherbandbreite der PPU von 2 TBit/sec (Alle 16 Kerne zusammengerechnet). Ein schneller Zugriff auf den Speicher ist bei Physikberechnungen sehr wichtig und da die Zugriffe hauptsächlich zufällig geschehen und selten sequenzielle Bereiche gelesen werden hat die PPU auch ein spezielles Zugriffsverfahen für den Speicher, das diese zufälligen Zugriffe beschleunigt. x86 CPUs lesen nämlich immer ganze Blöcke aus dem Speicher ein und da für die Physik meistens nur ein Bruchteil dieser Daten benötigt wird liest der Prozessor viel zu viel überflüssiges Zeugs ein und verschwendet damit Zeit. Dies tut die PPU nicht.
Vorteile dieser Art sind es, die einen 500 MHz ASIC-Prozessor um ein Vielfaches schneller machen, als eine mit 4 GHZ getaktete CPU.
So ist es ja auch bei den Grakas. Die sind für ihr spezielles Anwendungsgebiet perfekt geeignet und schlagen mit ihren 500 MHz die CPUs um Längen. Das gilt aber wie gesagt nur für die Grafik. Physik mag da zwar auch besser drauf berechnet werden, als auf einer CPU, aber bei weitem nicht so gut wie auf der PPU.
Aber wie schon des öfteren erwähnt. Eine Physik-Engine auf einer Graka ist eigentlich gar keine Physik-Engine. Ich will ja schon mit dem Objekten im Spiel interagieren können und nicth nur zusehen, wie sie durch die Luft fliegen.
Ycon schrieb:
Wieviele Flops hat die PhysX?
Mit dem Wert kannst du eigentlich nichts anfangen. Rein theoetisch sind es aber 96 GFlops (single precision).
Das sagt aber praktisch gar nichts über die Leistung des Chips aus, da es immer darauf ankommt, was ein Prozessor aus seiner Flop-Leistung macht. CPUs brauchen zum Beispiel zig Operationen um eine Kollision zu berechnen und die PPU kann das mit weniger Berechnungen duchführen und ist somit auch schneller, selbst wenn beide Prozessoren die gleiche Floatingpointleistung hätten. Sie ist halt um einiges effektiver.