Es besteht jedenfalls kein Wissensdefinizit bei teiger, an dessen Beitrag du dich ja aufgehangen hast.
Er hat davon geredet das Multicores z.B. in UE4 unterstützt wird und hat damit ebenso die Leistungssteigerung gemeint wie es auch die Entwickler von UE4 meinen die damit werben.
Achso... Na dann zeig uns doch mal diese Leistungssteigerung?
Bist du sicher, dass du schonmal mit dem UE4 Editor gearbeitet hast? Ich glaube nicht Tim...
Natürlich unterstützt der UE4 Editor massiv Multithreading. Das Teil compiliert während der Bearbeitung die Shader auf dem Prozessor. Und da kommen eine ganze Menge viele Berechnungen zusammen, bei aufwendigeren Projekten mehrere tausend/zentausend, das dauert selbst bei meinem 4,2GHz Oktacore noch teils stunden bis es überhaupt ansatzweise losgehen kann. Was hat das mit Games zu tun?
Richtig, NIX... GAR NIX.
Auch du unterliegst einem gewaltigen Irrtum, das ist die Vorwärmphase. Der Editor ist keineswegs mit einem fertigen Game vergleichbar. Denn du bearbeitest dort aktiv Kontent in Echtzeit... Bei Games ist der Spaß vorkompiliert (meistens zumindest) ausgeliefert.
Was meinst du was passiert, wenn du fertig bist mit dem Erstellen und den Spaß einfach mal startest?
-> guck es dir selbst an, es gibt genügend freie Demo Levels im Netz. Die Elemental Demo erzeugt bspw. brachiale Strich! 6% Load auf meinem Prozessor. Das ist runtergebrochen ein Volllastthread. Das feiert dir jeder Dualcore mit SMT auf ner halben Arschbacke ab... Der Schnelltest mit der fixen Zuweisung vom Thread 1 + 2 -> also dem Erzwingen der Last auf einem einzigen Core samt SMT bringt keine Änderungen im FPS Bild -> es klebt im 60 FPS Limit.
EDIT: die Elemental Demo ist übrigens das hier:
https://www.youtube.com/watch?v=E3hXDxyP8nk
Also nicht das jetzt kommt, ich würde hier das billigste vom billigen rauskramen...
Immer dieses Gesabbel über Sachen, wovon man keine Ahnung hat.
Mal ganz davon ab, woher weist du, was er gemeint hat? Weil du denkst, dass er das meint?
Auch ist selbst eigentlich die Aussage, in den Engines wäre MT Support integriert, nonsens... Die Engines sind genau was? Es ist ne Ansammlung von Bibliotheken. Die Engine ist aber nicht das Spiel. Denn das Spiel besteht für gewöhnlich aus Kontent, für welches man sich der Engine als Gerüst bedient. Und der Kontent macht die Musik. Hab ich keine KI, hab ich keine Berechnungen für die KI und folgerichtig keine Threads dafür, hab ich keinen Sound, hab ich keine Berechnungen für den Sound und folgerichtig keine Threads dafür, hab ich keine Physik, hab ich keine Berechnungen dafür usw. -> sollte klar ersichtlich sein.
Am Ende bleibt weiterhin das Problem, auch xx viele Threads bringen keine MT Leistungsskalierung, wenn sie nicht gleichzeitig laufen. -> und wir sind wieder am Anfang bei der einen kleinen entscheidenden Sache, die auch du offenbar nicht verstanden zu haben scheinst.
Das hängt sehr von der jeweiligen Software ab und es gibt genügend Beispiele wo das nicht so ist oder bis vor gar nicht langer Zeit so war.
Auch da ist meine Erfahrung aus der Praxis eine andere, die meisten Programmierer scheuen Multithreading, weil es schwerer zu handhaben und viel schwerer zu debuggen ist.
Das sehe ich anders... Schau dir gängige Software an, was dort für Threads genutzt werden. SingleThread Anwendungen findest du fast gar nicht mehr. Bestenfalls ist das horn alter Code...
Es reicht schon mit nem halbwegs neuen Visual Studio dein Projekt zu erstellen -> schon hast du Multithreading prinzipiell erstmal "drin". Der ganze Stino .NET Stuff ist häufig MT ausgelegt usw.
Du als Programmierer musst das natürlich dann konsequent nutzen. MT hier und dort bringt wie oben gesagt genau NULL, wenn es nicht gleichzeitig laufen kann oder wird