Physik-Engine Havok 2014.1 auf Quadcore-CPU mit Leistungssprung, Gameplay-Physik auf dem Vormarsch

wenn auf der cpu berechnet wird und das spiel im gpu-limit ist??
auf der cpu wird ja kein physx laufen. somit irgendwie ein komischer vergleich.

denn man spielt gewöhnlich im GPU-limit....und wenn dann noch auf der gpu berechnet wird, gehts eben bergab mit den fps.

mfg
 
Ich wollte einfach nur ähnlich (dämlich) pauschalisieren.
Sorry, aber ich habe das Gefühl das dieses Forum mit vielen Mitgliedern darauf steht immer auf so einem Niveau sich bewegen zu müssen.
Es wäre lieb, wenn wir das nicht nötig haben oder es nicht so oft vorkommt.
 
was ist daran dämlich, wenn nv ein feature kauft, welches früher problemlos überall lief ("cpu" oder eben physx-karte)
und nun nur noch auf nv-karten des mittleren preissegments aufwärts.
was zudem dann auch noch die FPS halbiert?

für wie sinnvoll erachtest du dann ein solches "feature"?:schief:

dann doch lieber wieder eine engine, die ALLEN zu gute kommt oder?
und auch die oft gelangweilte CPU belebt.

ich habe nix gegen physx/nvidia, sondern nur die egoistische art der ausnutzung.

mfg
 
Du kannst mir gerne beweisen, dass früher ein Feature problemlos auf der CPU lief und mit PhysX-Karte meinst du die alten PPU-Dinger von Ageia?
Und heute gibt es so viele Games mit GPU-PhysX, wo sich meistens die FPS halbieren und wo es keine Detailstufen gibt?

Ich erachte das Feature je nach Spiel für Gimmick oder lächerlich, mal bedingt cool und manchmal sehr cool.

Und was willst du genau ausdrücken mit lieber eine Engine die uns allen zu gute kommt?
CPU-PhysX kommt uns allen zu gute, genauso wie Havok Physics.

Doof ist natürlich das Nvidia GPU-PhysX für sich behält, es ist halt Nvidias Entscheidung auf diese Weise ihr R&D wieder zu monetarisieren.
Konkurrenten scheint es ja leider nicht zu geben, außer Havok bewegt wirklich mal ihren Po und bietet eine GPU-Pipeline an.
Havok FX ist 8 Jahre her.

Aber wenn Havok ähnliche Dinge per OCL oder durch sonst für ein Interface anbieten wird, glaubst du da halbieren sich die FPS nicht?
Jedenfalls potentiell besteht die Möglichkeit das PhysX deutlich effizienter laufen wird und häufiger durch eine GPU alleine gestemmt werden kann.
Hyper-Q gibt dir die Möglichkeit Compute-Queues von Render-Queues zu trennen, ohne Konflikte und Wartezeiten, deswegen bricht die Performance bei AC4 so heftig ein.
AMD bietet ähnliches mit ACEs und Mantle an, es muss "nur" jemand in Software umsetzen.
 
na dann siehts du es doch genauso wie ich :P

dann muss ich ja auch nicht weiter drauf eingehen.

eine cpu ist natürlich nicht so schnell, wie eine gpu.
aber vielleicht braucht es da einfach nur ein paar optimierungen, wie es sie für die graka auch gibt.
cpu-optimierungen hat es bei physx ja leider nie gegeben.

und im gpu-limit ist es immer noch mal sinnvoller, über die cpu zu berechnen.

mfg
 
CPU-Optimierungen hat es für PhysX nie gegeben?
Seit 2006 der gleiche Stand?

Sinnvoll ist lustigerweise relativ.
Aber das GPU-Limit welches wir kennen hat immer mehr Leerlaufphasen, dass könnte man mit Compute durchaus etwas ausnutzen.
 
Aber auf welchen Punkt genau?
Das CPU-Physik GPU-Physik wenig nachsteht, wenn man es "ordentlich" "balanced"?
 
naja, in dem sie es so formulieren, wie ich es auch empfinde bzw. dessen ich überzeugt bin :D

"Das beweist zwei Dinge: GPU-Physik kocht auch nur mit Wasser und die CPU-Physik ist besser als ihr Ruf"

"Es geht also, wenn man nur will. Nur will man wirklich?"

"GPU-PhysX dann schnell einmal Grafik und Physik zueinander in Konkurrenz treten und sogar kollidieren können, denn genau dieser Teil der Grafikkarte fehlt ja dann für die Grafikberechnungen. Wir würden uns wünschen, dass die Trennung in die noch existierende zwei-Klassen-Gesellschaft überwunden werden könnte, denn es bremst den Fortschritt doch merklich."


am ende macht nvidia mit ihrer dummen ego-politik ein tolles produkt zu nichte.
das könnte der punkt sein.

mfg
 
Was soll immer diese alte Legende, dass auf einer x86-CPU Single-Precison-Berechnungen (32 Bit Float) schneller wären als Double Precision (64 Bit)? Dem ist nicht so, wie man in unzähligen Internet-Quellen nachlesen kann, und auch sehr einfach selbst feststellen (ich arbeite als Programmierer in der Theoretischen Chemie). Da alle heutigen PC-CPUs Double Precision in Hardware ausrechnen, braucht das etwa gleich viele Zyklen wie Single Precision. Lediglich der Speicherverbrauch ist offensichtlich doppelt so hoch (was manchmal zu weniger effizienter Cache-Ausnutzung führen kann).

Bitte diese Falschaussage oben im Artikel korrigieren (oder eine Quelle für diese Behauptung einfügen).
 
Was soll immer diese alte Legende, dass auf einer x86-CPU Single-Precison-Berechnungen (32 Bit Float) schneller wären als Double Precision (64 Bit)? Dem ist nicht so, wie man in unzähligen Internet-Quellen nachlesen kann, und auch sehr einfach selbst feststellen (ich arbeite als Programmierer in der Theoretischen Chemie). Da alle heutigen PC-CPUs Double Precision in Hardware ausrechnen, braucht das etwa gleich viele Zyklen wie Single Precision. Lediglich der Speicherverbrauch ist offensichtlich doppelt so hoch (was manchmal zu weniger effizienter Cache-Ausnutzung führen kann).

Bitte diese Falschaussage oben im Artikel korrigieren (oder eine Quelle für diese Behauptung einfügen).


Schon mal was von SSE gehört? Dabei handelt es sich um einen erweiterten Befehlssatz, mit dem man acht 128-Bit breite Register in der CPU ansprechen kann. Mit SSE kannst du Vektor- und Matrixoperationen meist schneller durchführen, als wenn du die Berechnungen von der FPU durchführen lässt. Da die Register aber nur 128Bit groß sind kannst du entscheiden, ob du vier 32Bit floats oder nur zwei 64Bit double reinlädst. Wenn man double verwendet braucht man also offensichtlich doppelt so viele Rechenzyklen. Es gibt zwar mittlerweile auch AVX mit 256Bit aber auch da kannst du doppelt soviele floats reinladen wie doubles. Außerdem gibt es AVX erst seit 2011 mit der Sandy Bridge bzw. Bulldozer Architektur, wodurch die Legende gar nicht mal so alt sein kann. Will man double precision Operationen mit Hilfe von OpenCL auf der GPU berechnen, muss man sogar bei aktuellen Grafikkarten mit Leistungseinbußen rechnen.
Als Quelle füge ich mal diesen Benchmark ein:
AnandTech Portal | Floating point peak performance of Kaveri and other recent AMD and Intel chips

Ansonsten einfach mal ein bisschen über SSE informieren und selber damit rumprobieren.
 
Schon mal was von SSE gehört? Dabei handelt es sich um einen erweiterten Befehlssatz, mit dem man acht 128-Bit breite Register in der CPU ansprechen kann. Mit SSE kannst du Vektor- und Matrixoperationen meist schneller durchführen, als wenn du die Berechnungen von der FPU durchführen lässt. Da die Register aber nur 128Bit groß sind kannst du entscheiden, ob du vier 32Bit floats oder nur zwei 64Bit double reinlädst. Wenn man double verwendet braucht man also offensichtlich doppelt so viele Rechenzyklen. Es gibt zwar mittlerweile auch AVX mit 256Bit aber auch da kannst du doppelt soviele floats reinladen wie doubles. Außerdem gibt es AVX erst seit 2011 mit der Sandy Bridge bzw. Bulldozer Architektur, wodurch die Legende gar nicht mal so alt sein kann. Will man double precision Operationen mit Hilfe von OpenCL auf der GPU berechnen, muss man sogar bei aktuellen Grafikkarten mit Leistungseinbußen rechnen.
Als Quelle füge ich mal diesen Benchmark ein:
AnandTech Portal | Floating point peak performance of Kaveri and other recent AMD and Intel chips

Ansonsten einfach mal ein bisschen über SSE informieren und selber damit rumprobieren.
Ich kenne die Vektorisierungsbefehle im Prinzip (benutze sie nicht explizit, da ich kein Assembler schreibe ;)). Ich wusste nicht, dass man die doppelte Anzahl an Operanden in die Register laden kann, wenn man mit Single Precision arbeitet. Das ist natürlich ne coole Sache. Wieder was dazu gelernt, danke :daumen:
 
Zurück