Verständnisfrage zu (zum Beispiel) 5800X3D oder auch DDR5

@0ssi
Spiele wo diverse Berechnungen auch auf Netzwerk Verkehr warten um Desync zu vermeiden. (Tarkov, Star Citizen,...) Gibt nicht viele, aber es gibt solche Titel.
 
@Baal Netbeck
sollten alles nur Beispiele sein, wieso etwas nach "im Limit" aussehen kann, aber nicht ist, oder umgekehrt im Limit ist ohne trivial erkennbar zu sein.
Baal Netbeck schrieb:
aber soweit ich weiß gibt die Thread -Auslastung von Windows an, wie viel Prozent eines Zeitraums der CPU-Thread "besetzt" war.
Klingt plausibel. Aber dann wäre eine auf 800 Mhz gedrosselte CPU auf 100% Auslastung, obwohl die selbe HW mit simplem Entfernen der Taktdrossel um ein vielfaches schneller könnte. Dann wäre die Zahl wertlos um zu sagen, ob die CPU auf maximaler Geschwindigkeit läuft. (Etwas dass ich meine so nicht gesehen zu haben).
Aber egal, mir geht es ums Prinzip, dass man nicht alles in eine 1-Dimensionale Zahl packen kann. Egal wie man das Formuliert / Berechnet irgendwas bleibt immer auf der Strecke und wenn man nicht exakt weiß wie es zustande kommt, sollte man sich nicht blind darauf verlassen.

Baal Netbeck schrieb:
Das dürfte meinem Verständnis nach keinem Unterschied machen.
Sollte nur ein detailliertes Beispiel sein für das hier häufig erwähnte: auch unter 7% CPU Gesamtauslastung kann immer noch heißen dass ein Kern von 16 am Limit ist.

Baal Netbeck schrieb:
Mit großen Datenblöcken die nicht in den Cache passen, muss immer wieder auf den Ram gewartet werden. Trotzdem ist in beiden Fällen die CPU Auslastung bei 100%.
Ok, vllt nicht das beste Beispiel, da ich dir nicht sagen kann, was exakt Intel, AMD und Windows hier treiben. Aber ich würde mich nicht darauf verlassen, dass das so sein muss. Besser umgekehrt: Man könnte die Recheneinheiten nutzen, während ein Thread ausschließlich auf Daten wartet. Und wenn sie genutzt werden überlappen sich die Zeiten die die Threads auf dem selben Kern aktiv sind. Heißt wenn du 2 Dinge mit jeweils 60% "aktive" Rechenzeit auf den selben Kern packst, könnt es trotzdem noch genauso schnell laufen, weil während der eine auf Daten wartet kann der andere rechnen kann. Zwar eher unwahrscheinlich, wenn die Latenz kritisch ist, aber prinzipiell möglich.

Baal Netbeck schrieb:
Ja. Aber warum ist das für die Entscheidung was man aufrüsten sollte interessant?
Wie gesagt sollte nur erklären, wie man sich täuschen kann über den Flaschenhals. Wenn du einen Kern auf 100% siehst, liegt die Vermutung nahe, dass eine CPU mit schnelleren Kernen die Anwendung schneller machen kann. Wenn der Kern aber ausschließlich Busy-Waiting macht, könnte die CPU doppelt so schnell sein und es würde nichts daran ändern. Der Kern wäre immer zu 100% ausgelastet, selbst wenn in Wirklichkeit auf externe Peripherie gewartet wird.

Ich wollte nicht vorschlagen irgendwas davon als Leitfaden für Aufrüstenen zu nehmen, mehr Beispiele geben für die Frage des TE, wie solche Zahlen täuschen können.


Was GPUs angeht, rein von der HW könnten die auch zB Busy-Waiting machen, aber gut möglich, dass das in Spielen quasi ausgeschlossen ist. Aber SMT-ähnliche Dinge machen die noch viel extremer als CPUs (so dass 100% nicht heißen muss, die GPU hätte keine Zeit mehr was anderes passendes nebenher zu machen). Aber du wirst recht haben, dass die Prozentangabe bei GPUs vermutlich näher an der Wahrheit liegt als bei CPUs. Und man so mindestens auschließen kann dass die GPU limitiert.

Ich habe leider keine Erfahrungen mit Shadern, nur mit CUDA, aber da kannst du deinen Code durchaus so schreiben, dass er nicht alle GPU Kerne gleichzeitig auslastet und könntest so ähnliche Dinge konstruieren wie Single-Core Last auf der CPU.
 
Ray519 schrieb:
Man könnte die Recheneinheiten nutzen, während ein Thread ausschließlich auf Daten wartet. Und wenn sie genutzt werden überlappen sich die Zeiten die die Threads auf dem selben Kern aktiv sind.
Du beschreibst ja die Grundidee hinter HT/SMT.
Aber dafür muss ja die CPU SMT unterstützen und dein Code des Spiels muss auch gut auf multithreading ausgelegt sein.

Beim rendern oder so ist es ja sehr einfach, aber in einem Spiel laufen viele Dinge chronologisch ab und es können nicht so einfach andere Teile des codes vorgezogen werden.

Und was genau dann wo wie limitiert wird man ohne Zugriff auf den Quellcode eh nicht nachvollziehen können....es ist ja auch immer eine Mischung und aus meiner Sicht reicht es zu wissen, dass Spiele nunmal weit unterhalb von 100% CPU Auslastung limitieren können.
Ray519 schrieb:
Wenn du einen Kern auf 100% siehst, liegt die Vermutung nahe, dass eine CPU mit schnelleren Kernen die Anwendung schneller machen kann.
Auf die Angabe der einzelnen Threads würde ich nichts geben.
Wie ich oben schon schrieb kann ein CPU -thread limitieren aber Windows schiebt den Programm Thread hochfrequent von CPU Thread zu Thread.
Im Mittel sieht kein CPU Thread voll ausgelastet aus....also einfach ignorieren und nur die zuverlässige GPU Auslastung angucken.

Aber da bitte nur mit dem Afterburner, GPU -z oder z.B. dem AMD Treiber selbst.
Der Taskmanager kann weder die GPU Auslastung zuverlässig anzeigen, noch kann er den CPU Takt zuverlässig anzeigen!!
Ray519 schrieb:
Wenn der Kern aber ausschließlich Busy-Waiting macht, könnte die CPU doppelt so schnell sein und es würde nichts daran ändern.
Der Grund für das Warten ist ja entscheidend.

Wartet der Thread auf einen anderen Thread, dann wartet er kurzer wenn der andere thread schneller bearbeitet wird..... schnellere CPU/Ram hilft also.

Wartet der Thread auf Cache/Ram, hilft auch schnellere hardware.

Wartet der Thread auf Laufwerke, dann natürlich nicht.

Und wartet er auf Eingaben, dann ist man selbst das Problem.
Ray519 schrieb:
Aber du wirst recht haben, dass die Prozentangabe bei GPUs vermutlich näher an der Wahrheit liegt als bei CPUs. Und man so mindestens auschließen kann dass die GPU limitiert.
Es ist ja nicht so, als wäre die Angabe der CPU falsch.
Die CPU hat ja noch Reserven um andere Programme auszuführen.

Ich weiß nicht, wie genau die GPU Auslastung von Afterburner und co ermittelt wird, aber meiner Erfahrung nach passt das sehr gut.
Ist man da auf 99%, dann sind CPU und Ram nahezu egal. Und darunter wirken sie sich aus.
 
Konstante Werte hat man ja nie, aber natürlich gibt es je nach Situation Fälle wo auch ohne V-sync die CPU bei halber Auslastung ist und die GPU unterfordert.... CPU limit halt.
 
In welchem Spiel hat man den dauerhaft 50% cpu und 40% GPU? Sobald irgendwas passiert oder man die Kamera verschiebt, ist das doch eine andere Szene und damit ein anderes Verhältnis.
 
Stimmt, so war das ursprüngiche Zitat nicht gemeint:
shoKuu schrieb:
Gibt auch Spiele wo man 50% CPU Auslastung und 40% GPU Auslastung hat und dennoch keine XXX FPS erreicht und bei 20 FPS rumkrötet.
Und auch ich habe nebenbei erwähnt, dass man keine konstanten Auslastungen hat:
Baal Netbeck schrieb:
Konstante Werte hat man ja nie,
Und dann erwiederst du:
unins002 schrieb:
...was für mich so klingt, als würdest du erwarten dass man in Spielen immer feste Auslastung X zu erwarten hat.
 
@Baal Netbeck
Achso, du hast in deinem Beitrag "konstant" hinzugefügt. Warum auch immer.
Das habe ich nicht gesehen, sorry.
 
  • Gefällt mir
Reaktionen: Baal Netbeck
unins002 schrieb:
Spiele mit V-Sync?

Komm schon, das habe ich die ganze Zeit in Fall Guys und FIFA 22
V-Sync oder Frame Limiter ist doch kein CPU Limit worum es je ging
und dann ist logischerweise auch keine CPU schneller als die Andere.
 
@0ssi
Du hast folgendes zitiert:
"Gibt auch Spiele wo man 50% CPU Auslastung und 40% GPU Auslastung hat ..."
mit der Frage Welches ?

Und es ist Fakt, dass es welche gibt, wo man diese Auslastungen hat. Wie, ist ja erstmal egal.
 
Jedes CPU limitiertes Spiel, bekommst du mit der richtigen Kombi aus CPU und GPU(Grafikeinstellungen) und in der richtigen Spielsituation, auf ca 50% CPU und ca 40% GPU.

Wenn du Beispiele willst.
Anno 1404/1800, Planet Zoo, Prison Architect, Rimworld, Kingdome Come deliverance, Witcher 3, Alien Isolation, Frostpunk, BF 1, BF V, BF 2042, COD Warzone, Fortnite. Apex, Ark, diverse Assasin Creed Teile, Cities Skylines, Cyberpunk, Elex, Diverse F1 Spiele, Ghost Reacon, Hitman, Mafia 3, Raceroom, Diverse TotalWar Teile, Jedi Fallen Order, Thief, Devision, Watch Dogs...und viele mehr.

Das sind jetzt nur Beispiele aus meiner Spielebibliothek die ins CPU Limit laufen oder die ich ins CPU Limit bringen kann..
Und natürlich müsste ich für einige Spiele trixen wenn ich auf 50% CPU Auslastung kommen will, aber grundsätzlich ist das kein Problem. Ist das Multithreading schlecht, nehme ich einen 4 Kerner oder wenn das Multithreading gut ist nehme ich einen 16 Kerner....oder irgendwas dazwischen.
Dann brauche ich nur noch die GPU Auslastung mit der Auflösung verändern und voila. :daumen:
 
Zurück
Oben