Ja aber die kerne werden bei ihm wohl schon besser angesprochen aber ein kern liegt dabei fast immer so bei 95-100% quasi der Masterthread wie es so schön beschrieben wurde!
Was heist der Master Thread!?
Das ganze lässt sich so nicht ohne weiteres erörtern... Denn der Windows Taskmanager ist mal grottig was die Auslastungsanzeige angeht
Was sagt denn der Prozessexplorer mit dem direkten Fenster auf den Task?
Sprich wie sind dort die CPU Kerne ausgelastet?
Ein weiteres Problem was ich dabei sehe, Windows selbst schubst die Threads quasi direkt von Kern zu Kern.
Windows verteilt trotz vermeintlicher SingleThread Anwendung halbwegs brauchbar die Last auf beide Kerne gleich. (möchte man meinen)
Aber das besagt nicht eine halbe Auslastung beider Cores sondern in grob 50% von Zeit ist liegt Last auf den Cores
Und das ist der Punkt andem normale Tools nix mehr sichbar machen von dem Thema... Denn das Ergebniss wird verfälscht
An die Bencher hier, wie sieht das denn mit der Auflösung aus.
Wenn ein X6 bei 70FPS zumachen, kann man dann quasi dafür an der Auflösung, Quali, etc schrauben um quasi die brachliegende Leistung der GPUs zu nutzen?
Bin selber nicht so der Spieler, daher die Frage, wie sich das in diese Richtung verhält.
Normal sollte das gehen... Aber gerade beidem Beispiel BFBC2 scheint die GPU Leistung der beiden Karten so stark zu sein, das der X6 da absolut nicht nachkommt.
Vllt wäre Downsampling ne Möglichkeit, sprich vierfache Auflösung, dann erübricht sich auch das Thema AA
Leider so mit AMD Karten nicht immer anwendbar...
Ein "Masterthread" wird - speziell bei einem Spiel - versuchen nicht zu bremsen, sondern einen optimalen "Flow" aufrecht zu erhalten. Speziell auch dann wenn er so programmiert wurde, daß das Spiel auf unterschiedlich leistungsfähigen Plattformen läuft. Das läuft (vereinfacht) so ab:
Die gesamten Bildausgabe-Berechnungen (Szenen, Objekte, Bewegungen) wird die CPU dem GPU-Subsystem überlassen - aber erst nachdem sie diesem übermittelt hat, was dargestellt werden soll - und wie. Vereinfacht gesagt: die Perspektive, sich verändernd von rechts --> links, oben --> unten, Zoom hinein oder hinaus, Geschoss-Flugbahnen - und mit welcher Geschwindigkeit, etc. All' diese vom Benutzer verursachten "Echtzeit-Ereignisse" muß die CPU verarbeiten und als verwertbare Parameter "weiterreichen", das Rendering mit seinen parallel prozessierbaren Aufgaben übernimmt dann die GPU alleine. Kommen noch zusätzliche Bildoptimierungsaufgaben wie PhysX hinzu, so kann es sein, daß die CPU auch diese mit übernehmen muß.
Somit wird klar, daß speziell "Action-geladene" Spiele sich nicht durch eine sehr gleichmäßige Auslastung aller CPU-Kerne auszeichnen können - hier geht es um ständig wechselnde 'ad hoc' Anforderungen. Wenn man also sein Spiele-Portfolio daraufhin prüft, auf welche Hardwareplattform es optimiert wurde, kann man auch (einigermaßen) beurteilen, auf welcher Plattform es ohne nennenswerte Einschränkungen gut läuft, und welche ggf. "Overkill" ist.
Das Problem ist aber, das was du beschreibst lässt sich 1A via Multithreading verteilen... Denn es sind alles Objekte, welche die gleiche Basis haben (nämlich so wie es war, bevor der aktuelle Frame berechnet wurde) und die Berechnungen enden alle damit, wenn das Bild quasi fertig zur Weitergabe an die GPU(s) ist.
Du kannst beispielsweise die ganzen von dir genannten Sachen gleichzeitig abfertigen.
Das ist definitiv nicht das Problem.
Das Problem wird eher die stark unterschiedliche Menge der Berechnungen verschiedener Objekte sein.
Will ich beispielsweise realistische Physik auf der CPU haben, so habe ich die gleiche Basis, aber ein heiden Aufwand für ein einziges Objekt. Und je nach Aufwand der Berechnung für dieses Objekt kann die Berechnung sogar extrem lange dauern. Das gleiche gilt für die KI.
Das ganze kann man kompensieren indem man anstat jedes Objekt nacheinander einfach viele Objekte gleichzeitig berechnet. Was wiederum nur klappt wenn auch viele Objekte auf dem Schirm sein sollen.
Punkt zwei ist, im CF/SLI mit aktuell dem Rendermodus AFR macht sich die Sache noch einfacher. Denn ich habe Basis x und errechne daraus Bild A und Bild B. Das heist ich kann 1A zwei (Master) Threads erzeugen, welche dann wiederum ihre jeweiligen Unterberechnungen in verschiedenen weiteren Threads ausführen. Da vollkommen unabhängig von einander.