was meinst du auf welcher ebene da optimiert wird?
Größtenteils wohl auf Ebene der Engine, aber immerhin kann die da sowas machen.
selbstverstaendlich wird das auch auf einem 4 kerner laufen, da gibt es so etwas, das nennt sich scheduler. damit ist es moeglich mehr prozesse und threads quasi-parallel laufen zu lassen, als es cores gibt.
Der Scheduler bringt dir nichts, wenn du auf 7-fach parallele Ausführung setzt und alle 7 Operationen +- gleichzeitig fertig sein sollen, dann aber doch nur 4 Kerne da sind. Es KANN trotzdem aufgehen, wenn der 4-Kerner pro Kern dann etwa doppelt so schnell ist, wenn du dann aber dabei noch ggf. auf irgendwelche AMD-Features setzt, funktioniert das auf einem Intel-PC ggf. auch schon wieder nicht mehr.
Genau das ist der Knackpunkt. Auf der Konsole brauchst du nicht auf einem Scheduler hoffen. Da schiebst du das direkt auf diesen oder jenen Kern, weil du dir eben SICHER sein kannst, dass die Kerne vorhanden sind und EXKLUSIV dir zu Verfügung stehen.
Und gerade wenn man sich jetzt mal die AMD-Architektur anguckt mit ihren 2 separaten 4-Kern-CCX, kann es sogar ungünstig sein, wenn dir der Scheduler einen Thread von einem Kern einer CCX auf einen Kern der anderen CCX schiebt. Bei Konsolen kann man das selbst (in der Engine, die ja auch auf Konsolen optimiert ist) machen und dabei sowas berücksichtigen.
du glaubst echt, ein spiel wird mit sehr viel arbeit parallelisiert um 8 kerne nutzen zu koennen, aber dann wird es fuer den pc-port noch einmal umgeschrieben um nur noch auf 2 threads zu laufen?
Nein, es wird nicht umgeschrieben um nur noch auf 2 Threads zu laufen, es wird so umgeschrieben, dass es auch noch läuft, wenn die CPU nur 2 Threads ausführen kann! Die Skalierung auf 7 Jaguar-Kerne bringt dir auf einem 8-Kern Ryzen halt auch nichts, weil dann zwar 8 Kerne rechnen, aber jeweils nur mit 25% Last.
hast du schonmal multithreaded programmiert?
hast du ueberhaupt schon mal programmiert?
So etwa seit 15 Jahren hauptberuflich, ja.