CPU-Unterstützung von Spielen wird wichtiger

Andreas Frischholz
102 Kommentare

Im Rahmen der Game Devlopers Conference Europe 2009 in Köln hat Intels Softwareingenieur Leigh Davies Spieleentwickler davor gewarnt, die Entwicklung der Prozessorarchitektur zu unterschätzen. Verschiedene CPU-Topologien, sowohl alte als auch zukünftige, müssten verstärkt berücksichtigt werden.

Das Ende des MHz-Wahn im Jahr 2005 hat dazu geführt, dass alte Software nicht automatisch schneller läuft, wenn neue Hardware bereitsteht. Fehlt die Unterstützung von neuen Technologien, erhalten die Spiele keinen Leistungsgewinn. Ohne Anpassungen an die aktuelle Architektur profitieren sie also nicht von den zusätzlichen Ressourcen, entsprechende Design-Entscheidungen sind allerdings mit einem tiefergehenden Eingreifen in den Programmcode verbunden, was gerade zum Ende eines Projekts kaum möglich erscheint. Hinzu kommt, dass die Entwicklungsdauer von ambitionierteren Spielen durchschnittlich bei drei Jahren liegt, während Intel alle zwei Jahre eine neue Architektur an den Start bringt.

Deswegen fordert Davis die Entwickler dazu auf, frühzeitig die kommende Technik in den Entwicklungsprozess mit einzubeziehen, damit die Spiele bei der Veröffentlichung von der auf dem Markt verfügbaren Technologie profitieren. Als Beispiele nennt er die Multicore-Optimierungen, aber auch die Berücksichtigung des unterschiedlichen Aufbaus verschiedener CPUs, etwa bei den Cache-Größen. Anwendungen müssten erkennen, auf was für einer CPU sie laufen, um diese optimal zu nutzen. Die Unterstützung von Dual-Core-Modellen reiche dabei nicht mehr aus, da mittlerweile Vier-Kern-CPUs zum Standard zählen und für das kommende Jahr bereits 6-Kern-Modelle den Desktop-Markt erreichen werden.

Als Negativbeispiel beschreibt Davies ein Spiel, das vor allem für den Core 2 Duo optimiert wurde und bei dem die Entwickler vorhersagen wollten, auf welchem der beiden Kerne bestimmte Threads laufen. Mit „Thread Assumptions“ kann man zwar Leistungsgewinne erzielen, beispielsweise indem Hintergrundtasks bestimmten Kerne zugewiesen werden, jedoch könne dies laut Davies auch „grausam, grausam schiefgehen“. Der so erkaufte Leistungsgewinn erwies sich bei diesem Titel als großes Problem, weil bei neueren CPUs die Ladezeiten von einigen Sekunden auf über 40 Minuten anwuchsen und der Titel damit praktisch unspielbar ist. Die spezielle Optimierung auf eine CPU sei wegen solcher Schwierigkeiten ein Fehler, dagegen sollte die korrekte Ermittlung von Angaben wie der Anzahl der Kerne und Cache-Größe per CPUID richtig genutzt werden, um das Potential einer CPU auszuschöpfen.

25 Jahre ComputerBase!
Im Podcast erinnern sich Frank, Steffen und Jan daran, wie im Jahr 1999 alles begann.