Archiv verlassen und diese Seite im Standarddesign anzeigen : Diskussion zu: Wieviel CPU-Kerne sind maximal noch sinnvoll im Desktop-Segment?
Leonidas
2017-06-15, 07:05:56
Link zur News:
https://www.3dcenter.org/news/umfrage-auswertung-wieviel-cpu-kerne-sind-maximal-noch-sinnvoll-im-desktop-segment
Höhnangst
2017-06-15, 09:35:02
Mich würde dazu auch die Meinung der Leute interessieren, die das Zeug auch tatsächlich nutzen, also die Entwickler. Vom Bauchgefühl her denke ich, dass zwischen 8 und 16 Kernen das sinnvolle Optimum erreicht ist (was Spiele angeht). Mein nächster Prozessor wird voraussichtlich ein 8-Kerner mit HT, wahrscheinlich nächstes Jahr. (momentan 4+HT)
FlashBFE
2017-06-15, 11:59:19
Mich würde dazu auch die Meinung der Leute interessieren, die das Zeug auch tatsächlich nutzen, also die Entwickler. Vom Bauchgefühl her denke ich, dass zwischen 8 und 16 Kernen das sinnvolle Optimum erreicht ist (was Spiele angeht). Mein nächster Prozessor wird voraussichtlich ein 8-Kerner mit HT, wahrscheinlich nächstes Jahr. (momentan 4+HT) Da wirst du aber genauso unterschiedliche Meinungen erhalten. Ist es ein Entwickler, der sich seine Engine von Grund auf in C++ selbst zusammenbaut, wird der wahrscheinlich mehr Probleme haben, als die Entwickler, die fertige Frameworks oder sogar Engines benutzen, die bereits von sich aus eine gute Parallelisierung mitbringen. Entwickler, die Erfahrung mit Konsolenprogrammierung und deren vielen aber schwachen Kernen haben, werden ganz anders denken als ein PC-Programmierer, der schon immer nur Spaghetticode für einen schnellen Kern geschrieben hat.
Damit die zusätzlichen Kerne sich nicht langweilen, könnten die Entwickler diese mit relativ leicht parallelisierbaren Aufgaben wie z.B. Physik-Berechnung und Hybrid-Rendering beschäftigen.
san,salvador
2017-06-15, 17:34:49
Vor 5 Jahren hätten wahrscheinlich die Meisten auf 4 Kerne gesetzt.
Jetzt, wo die aktuellen Konsolen 8 Kerne haben und die Spiele oft sehr gut mit 7-8 Kernen skalieren liegt das Optimum auf ein Mal bei 8 Kernen.
Dabei wird außer Acht gelassen das die ersten Spiele ja schon anfangen von 10 Kernen zu profitieren, wenn auch meist erst unter niedrigen Taktraten.
Die Tendenz geht also klar dahin das die Programmierer an Erfahrung gewinnen und auch lernen weitere Kerne sinnvoll einbinden zu können.
Das die nächste Konsolengeneration wohl mit mindestens 10 CPU Kernen antreten wird ist klar. Am wahrscheinlichsten halte ich im Moment 12 Kerne mit verbesserter Zen+ Architektur. (Unter 7nm ca. 2019/2020)
Nach einiger Zeit werden auch da wieder die Programmierer lernen diese >10 Kerne sinnvoll zu verwenden.
Die Frage nach der Sinnhaftigkeit ist im Moment nur eine Zeit und Preisfrage.
Im Moment macht es als Gamer keinen Sinn sich 8 Kerne oder mehr zu kaufen, sofern man nicht prall gefüllte Konten besitzt.
Auf absehbare Zeit (imo 2020) werden hochgetaktete 6 Kerne wohl der optimale Kompromiss und oftmals sogar noch an der Leistungsspitze bei Games bleiben.
Da mit der nächsten Konsolegneration und Zen+ Architektur wieder deutlich höhere IPC und Taktraten verfügbar sind werden die Entwickler sich als erstes auf die leicht zu nutzende Mehrleistung durch IPC und Takt stürzen.
Daher wird es vermutlich noch etwas Zeit (nach dem Release) benötigen, bis die ersten Games wirklich gut mit 10, 12 oder mehr Kernen umgehen können.
Ganz zu schweigen von der Tatsache das die Nutzung von mehr Kernen sowieso immer schwieriger wird.
Ergänzung:
Bei der PS4 Generation waren die Entwickler ja gezwungen die zusätzlichen Kerne zu nutzen da die Leistung pro Kern im Vergleich zur PS360 Generation kaum merkbar angestiegen ist. Daher sah man auch recht schnell Games die sinnvoll mit 7-8 Kernen umzugehen wussten.
Ich finde eher das die Tendenz zu technisch sauberen Lösungen verloren geht.
Was bringt mir der Breich von 4-18 Kernen wenn es nur einige große studios hinbekommen das Ganze zu nutzen?
Viele kleinere Spiele/studios nutzen eingekaufte Technik weil sie selbst nicht das knowhow oder die Zeit haben da was ansprechendes auf die Beine zu stellen.
Bestes beispiel die UE4/unity spiele flut.
Wobei gerade EPIC hier den Vogel abschießt, entwickeln und vermarkten ne sogenante Next Gen engine und ihr eigenes Projekt ( Paragon sowie UT) auf der Technik zeigt perfekt alle Limitierungen dieser auf, seit ich das gesehen hab seh ich schwarz für jedens kleine Projekt auf dieser sobald es gewisse dimensionen erreicht.
Selbst die Top Engines muss man nutzen können siehe:
-Warhorse mit Cryengine , dennen fehlt einfach der Skill die last breiter zu verteilen.
-Homefront 2 cryengine auch diverese Probleme
-Squad UE4 sieht scheisse aus und läuft beschissen , riesen singelcore Bottelneck vom Mainthread im MP da dort Physics und Animation drin festgepint sind, das geht soweit das 5 ghz 7700K prozessoren teils unter 60 FPS droppen auf +64 Player Servern.
-ARK optisch mau, extremes LOD geploppe , GI frist die GPU wenn man mal in 720p und mit ner 1080Ti + 5820k teste kann man aber auch schon nen Drawcall bottleneck entlarven bei ca 60-70FPs
Ich kenne persönlich nur wenige beispiele wo 8 kerne 4 hochtaktende schlagen quasi 6900K vs 7700K
z.B.
Battlefield 1 Multiplayer
Division
DerBlicker
2017-06-15, 20:04:33
Die hier angeführten Einschätzungen zum Multithreading sind falsch.
In der Vergangenheit hat HyperThreading kaum eine Rolle gespielt, da die Ressourcen in einem Kern zu gering waren um mit simplen parallelen Threads etwas zu verbessern. HyperThreading war und ist extrem optimierungsbedürftig, im Gaming spielt das heute deshalb immer noch kaum eine Rolle. Der Grund sind die Kontextwechsel im Core. Solange L1/L2 zu klein waren ist jeder HT Versuch negativ. Das hat sich mittlerweile idR neutralisiert, und man sieht ab und an positive Effekte auch ohne Assembler-Optimierung.
Bei mehreren echten Cores konnte man dagegen simple Multithreading Strategien fahren. Man fängt also an bei Bottlenecks wo es ruckelt Multithreading einzubauen, oder ohnehin parallele Threads zu verteilen, wenn das nicht schon das OS für einen erledigt.
Das läuft ganz gut bis 4 Cores. Vor allem die GPU-Treiber haben ebenso von Multithreading profitiert, wahrscheinlich sogar von HyperThreading. Das half ebenso weiter. Was sonst noch auf einem OS an Prozessen nebenher läuft darf man auch nicht vergessen, das kann im falschen Moment mit zu wenig Kernen zu Problemen führen. Dann schrieb man einfach die Gamer sollen den Virenscanner deaktivieren :D
Die Intel-Blockade von 4 Cores für den Konsumer ist heute gebrochen. AMDs Multicores sind seit ZEN eine relvante Grösse und Intel zieht nach. Jetzt müssen auch alle Entwickler einlenken, oder sie bleiben auf der Strecke.
Bei der Ausnutzung jenseits der 4 Cores kommt man aber mit jedem weiteren Core in die Situation, dass man das Multithreading nicht mehr explizit planen kann. 6 Cores sind abseits definierter Konsolenhardware schon nicht mehr planbar. Man muss im Gegensatz dazu möglichst viel Multithreading implementieren um die CPUs auslasten zu können. Das Amdahlsche Gesetz gibt den Pfad vor, Multithreading bis zum Abwinken mit Zielsetzung 100%.
Das führt dazu, dass nicht einzelne Funktionen bzw. Algos optimiert werden sondern !Schritt für Schritt sämtliche Libraries!. Das dauert wahrscheinlich länger als der Wechsel von 32 auf 64bit und die eine oder andere Lib muss durch Alternativen ersetzt werden, aber es ist nicht ein Wechsel von entweder-oder, sondern jeder Compile kann ein weiterer kleiner Schritt sein.
Die Optimierung ist damit aber eine andere: man verwaltet die Threads nach Prioritäten und Abhängigkeiten. Diese Verwaltung kann nicht mehr simpel an einer Anzahl Cores festgemacht werden, sondern man pinnt bestimme zeitkritische Threads. Je mehr sich Threads und Prozesse verteilen lassen, desto weniger hoch muss getaktet werden. Man kommt einfach später ins Limit oder läuft generell kühler im Sweet-Spot. Einbrüche und Framedrops kann man so komplett vermeiden. Beim Batching funkt nichts mehr dazwischen.
Das Schöne daran sind zusätzliche Headrooms für einzelne Threads, die man für optionale Berechungen aka Features hernehmen kann ohne die eigene Verwaltung der Haupt-Threads umzuwerfen oder neu zu planen. Das macht Optionale Settings sehr viel einfacher zu implementieren. Fett oder schlank programmiert, auch mal hingefummelt statt lange zu optimieren. AFAIK hat man z.B. bei AotS schon optionale Details nur bei mehr Kernen berechnet.
Und da liegt auch der Haken. Solange die Blockbuster im PC-Markt noch für 4-Cores oder sogar dual Core fit gemacht werden sollen ist da eine Bremse drin. Die zeitkritischen Threads werden wohl noch lange auf wenige Cores zusammengeklebt werden. Aber wir dürfen fest mit ersten Mindestanforderungen von 4-Core ab 2018 rechnen und diverse Features nur ab 6 oder 8 Core und mehr.
Wer 16+ Cores am laufen hat wird die zwar bei weniger Auslastung relativ kühl laufen sehen, aber Nullprozenter im Taskmanager wie heute wird man in den modernen Games nicht mehr feststellen. GHz Race kann man auch abhaken, sobald die zeitkritischen Threads nebenläufig entlastet oder gar aufgeteilt werden. Und der Code ist bis nächstes Jahr geschrieben wenn nicht schon längst vorhanden. Konsolen-CPUs lassen grüssen ;)
Leonidas
2017-06-16, 06:20:03
Viele kleinere Spiele/studios nutzen eingekaufte Technik weil sie selbst nicht das knowhow oder die Zeit haben da was ansprechendes auf die Beine zu stellen.
Kann ich bestätigen. Indieentwickler nutzen für ihre Engines teilweise nur 1C. Und das bei einem Spiel, was seit Jahren in immer wieder neuen Versionen aufgelegt wird, wo man also im Laufe der Zeit sich sicherlich mal an diese Aufgabe ranwagen könnte. Wird aber nicht gemacht, wohl weil Engine bzw. Programmier-Basis schlicht eingekauft ist.
Bei der PS4 Generation waren die Entwickler ja gezwungen die zusätzlichen Kerne zu nutzen da die Leistung pro Kern im Vergleich zur PS360 Generation kaum merkbar angestiegen ist. Daher sah man auch recht schnell Games die sinnvoll mit 7-8 Kernen umzugehen wussten.
Auf den Konsolen dürfen die Spiele allerdings nur 6 der 8 Kerne nutzen, der Rest ist für Betriebssystem/DRM etc.
Kann ich bestätigen. Indieentwickler nutzen für ihre Engines teilweise nur 1C. Und das bei einem Spiel, was seit Jahren in immer wieder neuen Versionen aufgelegt wird, wo man also im Laufe der Zeit sich sicherlich mal an diese Aufgabe ranwagen könnte.
Es ist wesentlich schwieriger und fehleranfälliger eine Singlecore-Engine nachträglich auf Multicore umzubauen als eine neue Engine mit Augenmerk auf Multicore zu entwickeln.
Das können sich allerdings kleine Studios nicht leisten.
Die Umfrageergebnisse haben Null Aussagekraft.
Ähnlich wie bei praktisch allen Umfragen auf 3DC entwertet schon die Fragestellung die Ergebnisse.
Natürlich sind 16+ Kerne besser als 2 oder 4 - wenn man sämtliche bei aktuellem Stand bestehende Nachteile - und sei es schlicht der schiere absolute Preis - ignoriert.
Dass man in einer Nebenbemerkung die Umfrage auf High-End User beschränken wollte, aber auch nichts dafür getan hat(und auch nicht kann), sie auf diese zu beschränken, taucht in der Auswertung - und wer liest sich davor nochmal die Erläuterung der verkürzten Fragestellung durch? - dann gleich gar nicht mehr auf.
Lass es einfach.
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.