Multi-Core-CPU: Intel entdeckt den Bonus von mehr Kernen in Spielen (neu)
Der Weg zu mehr Kernen wird bei Intel mit gestiegener Unterstützung von Multi-Core-Prozessoren in Spielen begleitet. Denn was in reinen Anwendungen in der Regel bereits kein Problem ist, steht in Spielen teilweise immer noch am Anfang. Auf der GDC 2018 gibt Intel zusammen mit Spielestudios einen Überblick.
Mehr als Sechs Kerne heute noch selten von Vorteil
Viele Kerne helfen, doch nur bis zu einem gewissen Punkt. Aktuell skalieren Spiele bis zu sechs Kernen bereits mitunter sehr gut, spätesten bei acht oder mehr Kernen erfolgt jedoch ein Bruch. Da der Markt sich jedoch weiter zu mehr Kernen entwickelt, müssen auch Spieleentwickler nun nachziehen. Denn neben AMD wird auch Intel in diesem Jahr acht Kerne in den Mainstream bringen.
Die Macher von Total War: Warhammer 2 und Conqueror’s Blade erklärten dazu, dass der Fokus bei der Entwicklung sei, ein Spiel primär immer in die Limitierung der Grafikkarte zu treiben. Denn diese skaliert im Laufe der Zeit deutlich besser als CPUs, wo seit Jahren beim Takt kaum etwas passiert. Nur durch zusätzliche Kerne ist mehr Leistung möglich – und dort ist kaum Bewegung im Massenmarkt. Doch die CPU müsse ihren Teil leisten, was in einigen Bereichen einfach ist, in anderen jedoch ebenfalls schnell zu einer Limitierung führen kann.
Die unbestrittene Nummer 1 der Flaschenhälse (Bottleneck) eines Spieles ist das Rendering. Denn dieser berechnet primär sequentielle Dinge, die in bestimmter Reihenfolge abgearbeitet werden müssen und sich so nicht an andere Threads auslagern lassen. Der sogenannte Main Thread in Spielen für die grundlegenden Aufgaben ist deutlich einfacher weil sehr gut parallel zu handhaben. Ab einem gewissen Punkt lässt sich jedoch kein Leistungsgewinn mehr erzielen, im schlimmsten Fall kann es sogar zu einer geringeren Leistung kommen – der Bottleneck liegt dann in einem anderen Bereich.
Die Programmierer erklärten auch, warum SMT oder Hyper-Threading mitunter zu Leistungsverlusten führen kann. Das Problem sei, dass durch die Aufteilung eines Kerns auf zwei Threads alle Ressourcen geteilt werden, auch diejenigen, die in sehr begrenzter Menge zur Verfügung stehen, wie beispielsweise der L1-Cache der CPU oder genau gesagt des Kerns. Wollen zwei Threads auf den gleichen kleinen Cache zugreifen, kommt es zu Problemen, was in erhöhter Zugriffszeit münden kann. Daten werden dann verzögert ausgeliefert. Leistungsgewinne sind aber möglich, wenn die Trennung stärker erfolgt: Ist ein Thread eher auf den Cache fokussiert während ein zweiter die ALUs füttert, kann zusätzliche Leistung verfügbar sein.
Letztlich wird es aber immer auch auf die Spiele ankommen, ob sich die Optimierung für viele Kerne und Threads lohnt. Explizit wird im Rahmen der GDC 2018 das Sandbox-Genre rund um Spiele wie Total War oder anderen Games mit Massenschlachten hervorgehoben, da dort durch viele Einheiten auf großen Karten der größte Bonus sichtbar wird. Bis zu einem gewissen Teil lässt sich dies auch in anderen Genres umsetzen, allerdings mit weitaus geringerem Effekt. Dies kann dazu führen, dass Optimierungen gleich von Anfang an nicht in diesen Bereich sondern nur für die GPU angegangen werden – Games mit geringer CPU-Optimierung und -Skalierung wird es deshalb auch in Zukunft geben.