• Mitspieler gesucht? Du willst dich locker mit der Community austauschen? Schau gerne auf unserem ComputerBase Discord vorbei!

News Project Cars: Gameworks nicht verantwortlich für AMD-Performance

Wieso? gerade CPU-Physik ist doch das was man als Grundlegende Funktionalität ins Spiel einbauen kann da es unabhängig von der Grafikkarte ist, während die GPU PhysX Effekte meist nur abschaltbares EyeCandy sind. Ein Spiel wie Trine würde ohne PhysX nicht funktionieren, berechnet es aber auf der CPU.

Project Cars soll die Kollisionsabfrage über PhysX realisieren... ohne das wäre das ganze Spiel irgendwie "seltsam", oder nicht? ;-)
 
Havok. Ganz einfach. Sourcecode bekommt jeder Entwickler der es nutzen will.
 
Zuletzt bearbeitet:
HominiLupus schrieb:
Das bedeutet aber das die Spielefirma 100% an diesem Zustand schuld ist. AMD Karten sind nicht langsamer als nvidia Karten: alle anderen Studios schaffen es Spiele zu programmieren die auf Karten von beiden Herstellern ca. gleich gut laufen. Nur eben bei einem Spiel von SMS nicht. AMD kann offensichtlich nicht schuld sein wenn es nur bei dieser einen Firma nicht funktioniert. Occam's Razor ist da sehr eindeutig.

Es ist nicht das einzigste Spiel das auf Nvidia besser läuft. WoW lief bei mir auf einer 570 GTX besser als auf einer Radeon 290X ThriXXX.

Ja, die Frames im "nirgendwo" sind höher gewesen, aber sobald mehr als 5 Leute auf dem Screen sind und man die Kamera schwenkt, abartiges geruckel/gestotter (und das ist seit den X19XX Zeiten so) und das trotz 4GB Ram.

Keine Ahnung warum ATI das nicht hinbekommt, ist ja nicht so das WoW kein weit verbreitetes Spiel wäre, auch wenn es 99% der Spieler wohl nicht juckt...

Ich hoffe mal das wird mit der neuen Generation besser. Hab meine 290X gegen einen 970GTX getauscht und ehrlich gesagt hab ich gerne einen ATI UND Nvidia Rechner (genau für solche Fälle^^)
 
DocWindows schrieb:
@hrafnagaldr: Nö, ist mir in der Tat noch nicht aufgefallen. Kann mich jetzt auch aktiv an kein Spiel erinnern, welches die PhysX-Software im Redistributable-Pfad mitgebracht hätte. Ich weiß nur dass diese Software immer mit den Treiberupdates von nVidia auf die Rechner kommt oder aktualisiert wird.

Was passiert denn wenn man diese Software nach der Installation des Spiels wieder runterschmeißt? Startet das Spiel dann nicht mehr? Hat das schonmal wer ausprobiert?

"Ghost Recon" ( ich denke es war "Advanced Warfighter) installiert PhysX.

Ausserdem weigerte sich Metro 2033 gleich nach der installation zu starten, da es PhysX erst nach dem Reboot fand. Auch wenn man es im später Menu deaktiveren konnte ( ohne ini-Frickelei wie bei Last Light) war es zumindest beim ersten Start des Games nötig.

Deinstalliert habe ich allerdings nicht. Aber da Metro gemotzt hat, wird es wohl notwendig sein, dass es zumindest auf dem Rechner instaliert ist.

Anm.: Das ich mir bei den Games nicht 100% sicher bin liegt einfach an der Tatsache dass es schon ne Weile her ist.

Cunhell
 
wenig überraschend. Titel die nur mit der Grafikkarte vom Hersteller X gut laufen gab es schon seit den 90ern. Da liefen auch einige Spiele gut oder sogar NUR wenn man ne 3Dfx Graka hatte. Da hatten Riva, Elsa, ATi, Power VR, Matrox und S3 immer das nachsehen.
 
Beatmaster A.C. schrieb:
wenig überraschend. Titel die nur mit der Grafikkarte vom Hersteller X gut laufen gab es schon seit den 90ern. Da liefen auch einige Spiele gut oder sogar NUR wenn man ne 3Dfx Graka hatte. Da hatten Riva, Elsa, ATi, Power VR, Matrox und S3 immer das nachsehen.

Das aber vorallem weil 3Dfx "Glide" verwendete, was zur damaligen Zeit eine der Besten wenn nicht sogar die Beste Schnittstelle war.

Cunhell
 
Man schaue sich den Technik-Test von Witcher an. Obwohl deutlich mit Nvidia zusammengearbeitet wurde und es ein offizielles Nvidia-Spiel ist, läuft es auch super auf AMD Karten. Damit ist doch alles gesagt: SMD kann oder will nicht richtig programmieren. Deshalb werd ich es mir auch nicht kaufen, obwohl ich eine grüne Karte besitze.
 
noxon schrieb:
dann schlägt sich das bei einer asynchronen und damit parallelen Ausführung nicht direkt auf die Geschwindigkeit der Render-Engine nieder. Das ist alles was die Entwickkler hier aussagen wollen.
Wenn das Spiel um PhysX gebaut worden ist [1], dann wartet jegliche parallele Ausführung von irgendwas darauf, dass Thread x fertig mit den Daten ist. Nur weil wir heutzutage x Cores haben und hunderte von Threads, heißt es nicht, dass alles parallel abläuft und ablaufen kann. Fließbandarbeiter sind auch nur maximal so schnell, wie das Fließband läuft. Und die langsamen Berechnungen im Physik-Thread können sehr wohl jeden anderen Thread aufhalten, da dieser Thread nun mal nicht schnell genug die Daten liefern kann, weil der Code einfach Bockmist ist bzw. unoptimiert.

Aber wie überall gilt: Die gesamte Kette ist nur sie schnell, wie das langsamste Glied. Wenn die Festplatte im PC verrückt macht, kann die CPU auch nicht schneller rechnen. Bei ner Engine ist da nichts anders.

Wenn die Teile, wie du sagst, komplett voneinander unabhängig wären, würdest du Kollisionen nach 100 m erst mitbekommen (ähnlich wie Lags im Netzwerk, nur dass dort Pakete erst später eintreffen). Dass das nicht zutreffen kann, ist denke ich einleuchtend. Ergo läuft das Spiel und somit der gesamte Code immer nur so langsam, wie die einzelnen Threads und Pipelines ihre Sachen abarbeiten können. Und wenn das Spiel um PhysX gebaut wurde (und dies ist ja bekannt als Flaschenhals auf CPUs), dann wundert mich überhaupt nichts. Da kann AMD auch nichts dran rütteln.

Die Wahrheit lässt sich sowieso nirgendwo herausfinden, außer da packt mal jemand mit technischen Details aus...

[1] https://www.computerbase.de/forum/t...tungssteigerung.1474016/page-12#post-17400561
 
Einhörnchen schrieb:
Ja, echte Rennstrecken sind ja zum Glück werbefrei.

Hat keiner behauptet.
Aber eben nicht zugekleistert mit Nvidia-Werbebannern ...
 
Läuft PhysX auf der CPU eigentlich immer noch mit diesem MMX-Steinzeit-Code?
 
Yuuri schrieb:
Wenn das Spiel um PhysX gebaut worden ist [1], dann wartet jegliche parallele Ausführung von irgendwas darauf, dass Thread x fertig mit den Daten ist. Nur weil wir heutzutage x Cores haben und hunderte von Threads, heißt es nicht, dass alles parallel abläuft und ablaufen kann. Fließbandarbeiter sind auch nur maximal so schnell, wie das Fließband läuft.

Oh Gott, wo hast du bitte studiert um diese veraltete graubärtige "quasi-parallel = non parallel" These in einem Shitstorm, bezogen auf CPU-Entlastungmaßnahmen, als Argument zu bringen?! Billiger als dein Avatar, so wie alle deine Beiträge ;)

mfg,
Max
 
cunhell schrieb:
Wenn ich als Spieleproduzent Aufrufe so programmiere, dass sie auf bestimmter Hardware, deren Randbedingungen bekannt sind, sehr schlecht performt, ist es wirklich nicht schwer zu beantworten, stimmt.

Viele andere Spieleproduzenten bekommen das auch so hin, dass die Performanceunterschiede zwischen den beiden Hardwareherstellern deutlich geringer sind.

Cunhell

als spieleprogrammierer ist es der job sich an standards wie eben dx zu halten. die letztendliche umsetzung über den treiber obliegt immer noch den hardwarehersteller. was ist daran eigentlich nicht zu begreifen?
Ergänzung ()

max_1234 schrieb:
http://vr-zone.com/articles/amd-continues-anti-gameworks-offensive/79726.html



Kurz und Bündig:
AMD kann die Effekte gar nicht nachvollziehen, weil der dafür zuständige Code einzig und allein von Nvidia kommt.

auch amd hat tools, mit denen die sehen was am treiber ankommt. daraufhin wird optimiert, das macht nvidia genauso, weil das nunmal kein hexenwerk heutzutage ist.
 
acc schrieb:
als spieleprogrammierer ist es der job sich an standards wie eben dx zu halten. die letztendliche umsetzung über den treiber obliegt immer noch den hardwarehersteller. was ist daran eigentlich nicht zu begreifen?
Das haben die Entwickler bei Project Cars aber nicht gemacht. Was ist denn daran schwer zu begreifen? Wo ist PhysX zum DX Standard dazu gekommen?

Und nicht alles was am Treiber ankommt lässt sich noch cverbiegen ohne Performanceverlust. Vor allem wenn etwas ausserhalb des Standards verwendet wird.
 
hrafnagaldr schrieb:
bei Project Cars zusätzlich zur AMD-Karübernimmt Phys grundlegende Physik-Berechnungen, die ein Rennspiel natürlich braucht.
Ja und obwohl die Entwickler gerade genau das Gegenteil behauptet haben weißt du das woher? Quelle bitte.

Dazu müssten nVidia-Karten als Addon wieder erlaubt sein oder CPU-PhysX zumindest SSE2-Instructions nutzen können.
1. nVidia muss gar nichts, wenn sie nicht wollen.
2. PhysX supportet ab Version 3.0 sogar SSE4.1 und AVX

Abgesehen davon. Erhoffe dir mal nicht all zu viel von den Erweiterten Befehlsätzen. Wunder vollbringen die auch keine.

Von daher gebe ich SMS die Schuld an dem Debakel, da einige PhysX-Effekte schlichtweg ein nicht deaktivierbarer Part ihrer Engine sind, und man mit AMD-Karte immer der Depp ist.
*Kopfklatsch*
Was erstehst du denn unter "ihre Engine"? Die haben keine eigene Physik-Engine. Die nutzen 100% die PhysX Engine. Welche Teile würdest du deiner Meinung denn dort deaktivieren um eine bessere Performance auf AMD Karten zu erzielen?

Da hättest auch mal den ganzen Anandtech-Thread verlinkt und nicht nur einen ausgewählten Benchmark.
Das wäre natürlich hilfreich gewesen. Ich verweise auf 150 Postings und ihr könnt euch dann den raussuchen den ich meine.

Eine SSE2 Compileroption heißt nicht, dass diese auch genutzt wird.
Haha. Ja genau. Ist alles nur Fake.
Code:
variables_map vm;
if (vm.count("arch")) 
{
   if (vm["arch"].as<std::string>() == "sse2")
   {
      // Haha. Those fools actually think we are optimizing our code at this point.
      // Instead, why don't we just take a little nap?
      this_thread::sleep(posix_time::seconds(5));
   }
}

Oder sprichst du davon, dass der Entwickler sie nicht benutzt?
Warum sollte er? Wenn er sich von Leuten wie dir so blöde Vorwürfe anhören muss, dass er nicht kompetent genug sei um ein anständiges Spiel zu entwickeln, dann wird er doch wohl auch darum bemüht sein so einen Parameter richtig zu setzen, meinst du nicht? Außerdem glaube ich, dass der enabled by default ist und man ihn per Parameter deaktivieren muss.


Auf jeden Fall vermute ich, dass auch bei deaktiviertem GPU-PhysX ein offload stattfindet, sobald eine nVidia GPU erkannt wird.
Was man leicht mit einem Klick im Treiber deaktivieren kann und trotzdem sinkt die Performance auf nVidia Karten nicht um 80% sobald man das tut.


Yuuri schrieb:
Wenn das Spiel um PhysX gebaut worden ist [1], dann wartet jegliche parallele Ausführung von irgendwas darauf, dass Thread x fertig mit den Daten ist. Nur weil wir heutzutage x Cores haben und hunderte von Threads, heißt es nicht, dass alles parallel abläuft und ablaufen kann. Fließbandarbeiter sind auch nur maximal so schnell, wie das Fließband läuft. Und die langsamen Berechnungen im Physik-Thread können sehr wohl jeden anderen Thread aufhalten, da dieser Thread nun mal nicht schnell genug die Daten liefern kann, weil der Code einfach Bockmist ist bzw. unoptimiert.
Es ist aber nicht so, als ob die parallele Ausführung nur dafür genutzt wird um die Arbeit besser zu verteilen. Die Engines laufen auch asynchron zueinander. Parallel und asynchron sind zwei unterschiedliche Dinge. Die Physikengine führt deutlich mehr Simulationsschritte durch als die Grafikengine Bilder darstellt. 600 fps soweit ich das gelesen habe. Weiß nicht ob das stimmt. Auf jeden Fall wird es mehr sein als die Bildwiederholrate der Grafikengine.
Ob das jetzt mal etwas mehr oder weniger sind ist gar nicht so wichtig. Das beeinflusst auch die Grafik-Engine wenig. Auswirkungen hat das vielmehr auf Penetrations- oder Jittereffekte von Objekten und in speziell diesem Fall natürlich auf die Fahreigenschaften.
Die Engines sind ansich jedenfalls fast völlig voneinander entkoppelt und nur wenn die Grafikengine neue Positionsdaten benötigt, dann kann sie diese bei der Physikengine anfragen. Dazu muss auch nicht auf die nächste Berechnung gewartet werden, sondern können de Daten der letzten Berechnung genutzt werden da diese aufgrund der 600 Hz ja nur sehr kurze Zeit zurück liegen.
 
Zuletzt bearbeitet:
Genau wegen solch einer News meide ich normalerweise AMD grafikkarten.
 
Leute!!!
Ist es das Thema wirklich wert, dass man sich darüber so streiten muss?

Wir haben das Glück, in einer halbwegs zivilisierten Welt zu leben, warum benehmt ihr euch dann nicht so? Die Welt wird wegen der paar Frames nicht aufhören, sich weiter zu drehen.

Ich vermute, dass die wahren Gründe wohl niemals ans Tageslicht befördert werden, vermutlich gibt es Verschwiegenheitsklauseln die eine lückenlose Aufklärung verhindern werden.
Und selbst wenn, was ändert es an der gegebenen Situation? Ein Fix und Treiberupdate wird kommen. Wenn die Frames dann noch immer nicht gänzlich der reellen Leistungsfähigkeit der AMD Karten entspricht, wird es auch kein Problem sein.

Wo steht geschrieben, dass bei einer Rennsimulation alles auf absolut höchsten Details gespielt werden muss? Kann es sein, dass Spielspaß und Wettkampf im Vordergrund stehen sollte? Kann es sein, dass in einem fordernden Wettstreit mit anderen Spielern gar keine Zeit ist, auf klitze kleine Details zu achten?

Also wozu die Aufregung?

Jetzt zu meiner These.
Ich beziehe mich auf den mehrfach verlinkten Artikel von Anandtech, in dem erwähnt wird, dass kurz nach einem Treiberupdate seitens AMD eine Änderung am Code statt gefunden hat, sodass dieses Treiberupdate wieder hinfällig wurde.
Ist es nicht naheliegend, dass, anstelle auf jede kleine Änderung mit Entwicklungsaufwand zu reagieren AMD einfach abwarten wollte, bis der finale Code released und eine breite Basis vorhanden ist, ehe sie wieder mit Treiberoptimierungen anfangen?
Gerade bei einem Unternehmen, bei dem jeder Cent zwei mal umgedreht werden muss klingt das für mich persönlich völlig nachvollziehbar und ist auch nichts verwerfliches, weil Ressourcen einfach besser eingesetzt werden können.
Solange halbwegs zeitnah ein entsprechender Fix vorhanden ist, ist das absolut unkritisch, also warum dann die Aufregung?
 
Zuletzt bearbeitet: (Wort vergessen)
Daedal schrieb:
Das haben die Entwickler bei Project Cars aber nicht gemacht. Was ist denn daran schwer zu begreifen? Wo ist PhysX zum DX Standard dazu gekommen?

behauptest du, nur beweise bleibst du wie immer schuldig oder?
 
Sachlich kann man nicht mit Leuten diskutieren, die AMD oder Nvidia Grafikkarten haben. Die mit Nvidia sind hocherfreut, wenn ihre Grafikkarte gute Leistung bringt und haben nur ein müdes Lächeln für AMD übrig. Die AMD Anhänger sehen sich übervorteilt und argumentieren entsprechend. Das Bild kann man auch umdrehen, wenn AMD Oberwasser hat, was in der Vergangenheit auch nicht selten war. Am liebsten wäre es mir, wenn es wieder so etwas wie VESA gäbe, was bei MS-DOS dafür sorgte, dass die Marke keine Rolle spielte, weil Standards alle unterstützen.
Ich sehe es aber so kommen, dass AMD unter geht und dann ein uferloses Monopol die Spieler gnadenlos auspresst und von Morgens bis Abends verarscht. Aber das ist auch das Los eines Spielers üblicherweise.
 
DocWindows schrieb:
Wollte mich gerade etwas mit Informationen über PhysX, Gameworks, APEX, etc. updaten und bin hierüber gestolpert:
https://developer.nvidia.com/physx-source-github

Ob AMD wohl Interesse hätte? :D Aber nee. Ist ja proprietärer Mist ;)
Gääähn http://www.golem.de/news/nvidia-physx-quellen-auf-github-verfuegbar-1503-112839.html

PhysX ist nicht offen.

@deo
Komisch ich habe eine GTX 570 und bin keineswegs erfreut über nvidias "Strategien", ebenso wenig über PhysX & Co selbst wenn ich es nutzen kann.
 
Zurück
Oben