Reviews Was taugt der Intel Core i5-12400 auf dem B660 Mainboard im Workstation- und Produktiveinsatz wirklich? Unser Praxis-Test | Teil 2

Redaktion

Artikel-Butler
Mitarbeiter
Mitglied seit
Aug 6, 2018
Beiträge
1.816
Bewertungspunkte
8.809
Punkte
1
Standort
Redaktion
Kann man mit einem Intel Core i5-12400 wirklich effizient und produktiv arbeiten? Und reicht auch DDR4 statt des teuren und nicht verfügbaren DDR5-Speichers? Auch wenn einige Fragen offen bleiben und ein Jain die diplomatischste Antwort wäre, so schlecht ist auch Intels kleiner Core i5 nicht. Nur reicht das gegen einen AMD Ryzen 5 5600X? Den (read full article...)
 
Das ist ein wenig wie Open World vs. Schlauchlevel. Aber es gibt mehr Dinge, die sich nicht parallelisieren lassen, als Dinge, die sich gut eignen.

Beispiel: Ich kann zwar viele Downloads asynchron laufen lassen, dafür könnte ich jedes Mal einen Thread kreieren. Nur kann ich den Download selbst kaum auf mehere Threads verteilen. Und wenn ich nur einen habe, wars das mit Parallelisierung. Sicher - große Dateien könnte man aufsplitten, wenn es der Server auf der Gegenseite hergibt. aber bei kleineren lohnt das gar nicht. Und auch die Fehlerprüfung wird beschissener und aufwändiger.
 
Das macht ja auch nix das sich nicht alles parallelisieren lässt,dafür kann ICH parallel mit vielen Kernen Arbeiten.Wenn ich das nicht brauche,selber nicht kann weil ich alles nacheinander abarbeite oder Programme habe die nicht so viele Kerne unterstützen,dann brauch ich auch nicht so viele Kerne.
 
Ein 8 Kerner kann sinnvoll sein, wenn man den PC sehr lange nutzen will, da kommt der 6 Kerner eher an die Grenzen, weil auch Spiele wegen der 8 Kern CPUs in den Konsolen langsam aber sicher mit mehr Kernen umgehen können werden. Das betrifft aber vor allem AAA-Spiele.
Ich denke ein 5600X oder 11600 sollten auch mit den 8 Kernen der Konsolen mithalten können.

Am Schluss gibt es sehr wenige Applikationen, die auf mehr Kernen schneller laufen, als auf weniger, dafür entsprechend schnelleren Kernen.
Aber es ist schwer, so viel zu parallelisieren. Viele Dinge würden dann so viel Overhead produzieren, dass es sich erst recht nicht lohnt. Außenstehende stellen sich das immer so einfach vor... ist es aber nicht. :)
Wie ging das schon wieder mit den 9 Frauen, die 1 Baby auf die Welt bringen sollen?
 
Keine Angst. Ich bin seit 30 Jahren Hobbyprogrammierer und weiss ganz gut, wie viel Aufwand etwas bedeuten kann.
Was bei vielfach (z.B bei den meisten Games) noch erschwerend dazu kommt, ist dass das ganze auch noch zeitkritisch ist.

In gewissen Fällen kann man vielleicht ein Stück Code so umbauen, dass es parallel läuft. Das kann dann aber auch bedeuten, dass du zwar 8 oder 16 Aufgaben parallel lösen könntest, aber der Prozess dauert 30% länger.
 
Für mich als Laien ist es immer höchst beeindruckend, wenn die Programmieren sagen: Die Parallelisierung ist nicht so ohne (wie @Staarfury ausführt) und ich im Taskmanager sehe, dass aktuell 322 Prozesse respektive 6881 Threads laufen und ich AMD mäßig incl. SMT mit 32 oder am So 2066 mit 36 popeligen "Kernen" herumfummle.
 
dass aktuell 322 Prozesse respektive 6881 Threads
Die Zahlen sagen eigentlich nichts darüber aus, ob der Prozessor stark belastet ist oder wie viel parallel läuft. Allein Windows öffnet beim Start schon etwa 150 Prozesse und über 1000 Threads. Das sind aber viele unabhängige Funktionen. Die meisten davon werden nur aktiv, wenn sie gerade benötigt werden. Den Rest der Zeit lagern dafür irgendwo im RAM oder der Auslagerungsdatei ein paar Arbeitsdaten, aber der Prozessor wird dadurch nicht belastet.

Ein Game hat normalerweise einen Hauptprozess, der in einer Dauerschleife abläuft. Erst werden die Eingaben von Tastatur und Maus abgefragt. Dem entsprechend werden dann die Spielfigur und andere bewegliche Objekte bewegt. Danach wird der Grafikkartentreiber angewiesen, aus dem 3D-Modell das Bild auf dem Bildschirm zu generieren. Das ist auch zu einem nicht unbedeutenden Teil Aufgabe des Prozessors. Die Grafikkarte ist nur wie ein Taschenrechner, der erst mal von der CPU mit Programmtext und Daten bedient werden muss. Dem Soundchip werden Sounddateien zum abspielen gegeben. Wenn nötig werden auch noch Landschaftsdateien, Objekte und Texturen nachgeladen. Bei einem Onlinegame kommt auch noch die Kommunikation mit dem Server dazu.

All diese Programmteile sind von einander abhängig. Solange man nichts speziell programmiert, wird in jedem Programmzyklus jeder Schritt in der selben Reihenfolge bearbeitet. So weiss man, was bereits erledigt ist und jeder Schritt stellt die nötigen Daten für den nächsten zur Verfügung.

Nun kann man anfangen zu schauen, was parallel laufen kann. Sobald beispielsweise der Grafikkartentreiber alle Informationen für das nächste Bild erhalten hat, kann er selbständig das Bild erstellen und Anzeigen. Der Hauptprozess kann in dieser Zeit schon weiter arbeiten, denn er ist nicht davon abhängig, was der Grafikkartentreiber macht.

Das Nachladen von Landschaftsdateien kann man auch auslagern. Dafür erstellt man einen separaten Prozess und sagt diesem, welche Landschaftsteile in der nächsten Zeit benötigt werden. Hier wird es aber schon schwieriger, denn der Hauptprozess ist teilweise von diesen Dateien abhängig. Es muss also immer wieder geschaut werden, welche Dateien nun schon da sind und aufbereitet wurden, damit diese dann einbezogen werden. Wenn etwas wichtiges noch nicht da ist, kann es sein, dass der Hauptprozess darauf warten muss oder in der Landschaft Lücken entstehen oder Texturen fehlen.

Bei der Erstellung des Bildes kann der Grafikkartentreiber vieles selbständig parallelisieren. Im Hauptprozess des Games ist aber vieles von einander abhängig, so dass es schwierig ist, einzelne Teile so unabhängig zu machen, dass sie selbständig laufen können.
 
Ahjo... es läuft aber auch durchaus heutzutage mehr "parallel" als früher(tm): da läuft vielleicht vordergründig "nur" das Spiel mit "einem" Hauptprozess, daneben dann aber teamspeak, ggf. Monitoring-Software, RGB-Gedöns, Download, Steam, Epic, Origin, Battle.net, Virenscanner usw. bis hin zu sehr systemnahen Aufgaben rund um Netzwerk, Storage & Co. Ja - erzeugt alles für sich keine nennenswerte Auslastung und vieles ist sicherlich über weite Strecken schlafend/inaktiv, aber das ideal-Ziel wäre ja, zu jeder Zeit das ganze Gelumpe von all denjenigen Kernen fernhalten zu können, die sich gerade (nur) mit dem Spiel beschäftigen (müssen/sollen). Soll heißen, Parallelität hilft nicht nur innerhalb ein und derselben Anwendung, die Kiste macht tendenziell auch immer mehr gleichzeitig.

Wenn ich mir allein anschaue, wie schnell mein 4-Kerner (im Laptop) schon in die Knie gehen kann, hab' ich da lieber etwas mehr Puffer als zu wenig.

Aber klar, das ist zum Großteil persönliches Bauchgefühl und völlig alberne Sorge. Trotzdem... ;)
 
Aber klar, das ist zum Großteil persönliches Bauchgefühl und völlig alberne Sorge. Trotzdem... ;)
Damit es nicht nur Bauchgefühl ist, kannst du einfach mal im Taskmanager beobachten, was wie viel Leistung braucht. Wenn ein Game läuft, braucht Windows weniger als 1 %. Alles, was nicht nötig ist, wird auf dann verschoben, wenn die CPU Zeit hat. Virenscanner brauchen meist auch nicht mehr. Bei Epic, teamspeak und so kann es aber durchaus vorkommen, dass sie einiges an Leistung verbrauchen. Die sind nicht immer so toll programmiert und manchmal treten auch Fehler auf, von denen man dann im Internet liest. Je nach dem hilft eine Neuinstallation der Anwendung und manchmal kann man nur auf ein Update warten. Am schlimmsten ist natürlich, wenn man das Game streamt. Da kann es je nach dem sinnvoll sein, den Stream auf einen separaten PC auszulagern.
 
Also jemand mit mittleren Budget, der sich einen 5600x zum Spielen kauft, wird in der Regel auch für die Grafikkarte nicht soviel ausgeben. Das heißt die Grafikkarte wäre vermutlich sowieso der limitierende Faktor.
Die xbox xsx ist ja mehr oder minder eine mobile 8 Kern Zen 2 CPU gepaart mit RX 6700 von der Leistung her.

Also es kommt halt immer darauf an was man machen will.
Spielen > dann eher mehr ausgeben für die Grafik
Rendern > dann mehr ausgeben für den Prozessor/Kerne
 
Zuletzt bearbeitet :
Am schlimmsten ist natürlich, wenn man das Game streamt. Da kann es je nach dem sinnvoll sein, den Stream auf einen separaten PC auszulagern.
Oh ja. Leistungsreduktionen können sogar passieren, auch wenn die CPU nicht ganz vollständig entlastet ist. Ich habe auf meinem 3900X einen c.a 10-20% Leistungsrückgang in den Spielen wenn ich eine signifikante Hintergrundlast habe (was streamen auch ist), selbst wenn die CPU nur zur Hälfte ausgelastet ist (Spiel mit inbegriffen). Vermutlich wegen Reduktion der Taktraten, aufgrund des volleren Caches als auch des vermutlich nicht perfekten Scedulers von Windows. Ist aber nur meine persöhnliche Vermutung, welche die eines wenn auch etwas eingelesenen Laien ist.
 
Danke für den interessanten Artikel mit diesen viel zu selten gebenchten Anwendungen.

Eine Frage: Kann man irgendwo sehen welche Softwareversionen und Szenarien genau getestet wurden - ich habe ernsthaft gesucht und es tut mir leid wenn ich das offensichtliche übersehen habe. Am meißten würde mich der verwendete Calculix Solver interessieren.

Vielen Dank, deXTeR
 
Oben Unten