HyperThreading vs. DualCore in Spielen
31. Juli 2007 / von Madkiller (Benchmarks) & Leonidas (Text) / Seite 1 von 2
Als Intel anno 2002 HyperThreading mit dem Pentium 4 3.06 GHz HyperThreading veröffentlichte, dachte kaum jemand an eine bessere Spieleperformance durch dieses Feature und war natürlich die derzeitig laufende Entwicklung hin über Dual- und QuadCore-Prozessoren hin zu ManyCore-Prozessoren noch überhaupt nicht absehbar. Schnell wurde zudem auch klar, dass sich hinter HyperThreading mehr oder weniger "nur" eine Technologie zur besseren Ausnutzung der beim Pentium-4-Design oftmals brachliegenden Recheneinheiten verbarg, welche jedoch nur in eher speziellen Fällen wirkliche Leistungsgewinne erzielen konnte.
Spiele gehörten von Anfang an nicht zu den Lieblingen von HyperThreading, hier zeigten sich selbst nach einiger Zeit im Markt nur selten Leistungsgewinne, welche im Fall des Falles zudem ausnahmslos nicht wirklich relevante Größenordnungen erreichten. Und dennoch hat HyperThreading für die aktuell laufende Dual- und QuadCore-Offensive mehr getan als mancher denkt: Denn seinerzeit wurde zum ersten Mal auf dem Desktop-Segment das Programmieren für mehrere Prozessorkerne (ob nun physikalisch oder nur logisch vorhanden) angestoßen. Ohne diese Vorlaufzeit mittels HyperThreading hätten es die ersten DualCore-Prozessoren wohl noch schwerer gehabt, im Spielebereich irgendwelche Vorteile aufzuzeigen - und der Anfang war für DualCore-Modelle wie bekannt sowieso schon nicht besonders rosig.
Nun haben sich die Verhältnisse inzwischen stark gedreht und DualCore-Prozessoren sind inzwischen totaler Standard bei neu verkauften Rechnern und dürften inzwischen auch in der Gruppe der Computerspieler (der Gesamtmarkt mit all den verkauften Büro-Rechnern ist für die Spiele-Branche natürlich nicht maßgebend, sondern allein die verkauften bzw. im Einsatz befindlichen Home-Computer) auf einen erheblichen Anteil an der installierten Basis kommen. Demzufolge - und auch wegen des Vorlaufs mittels HyperThreading - sind DualCore-Optimierungen von aktuellen Spielen inzwischen normal geworden, selbst wenn der Leistungsgewinn nur in den eher selteneren Fällen wirklich in die Nähe der Leistungsverdopplung geht und oftmals auch nur 10 bis 20 Prozent Leistungsplus erreicht werden (was man mit einem höheren Takt der SingleCore-Modelle auch hätte erreichen können).
Vorteilhafterweise sind diese DualCore-Optimierungen in den allermeisten Fällen aber auch bei HyperThreading-Prozessoren einsetzbar. Gerade die eher einfachen Optimierungen wie das Auslagern abgetrennter Teilaufgaben (wie K.I., Sound, Physik) auf den zweiten Kern sind problemlos auch von HyperThreading-Modellen mit einer gewissen Leistungssteigerung handelbar, da diese Teilaufgaben meist deutlich weniger Performance benötigen als die auf dem ersten Kern verbleibende Hauptaufgabe und demzufolge im Fall eines HyperThreading-Modells auch auf einem nur logisch vorhandenem zweiten Kern vernünftig laufen können. Was in der Summe bedeutet: DualCore-Optimierungen sollten eigentlich auch HyperThreading-Prozessoren zu mehr Leistung verhelfen können.
So zumindestens die Theorie - wie dies praktisch aussieht, wollen wir an dieser Stelle in einem Test ausmessen. Hierzu haben wir zwei verschiedenen Prozessoren zum Test eingeladen, wobei diese beiden Prozessoren keineswegs gegeneinander antreten, sondern nur jeweils einen Vertreter der Spezies HyperThreading und einen Vertreter der Spezies DualCore repräsentieren. Im Fall von HyperThreading haben wir uns für den Pentium 4 560 mit 3.6 GHz entschieden, welcher die Tests mit aktiviertem und mit deaktiviertem HyperThreading durchlief, im Fall von DualCore war es dann der Athlon 64 X2 4600+, welcher die Tests sowohl als Dual- als auch als SingleCore durchlief. Ziel der ganzen Sache war dabei, zu erkennen, wieviel HyperTreading in DualCore-optimierten Spielen heutzutage an Gewinn bringen kann, und gleichzeitig, wie nahe der Leistungsgewinn durch HyperThreading dem Leistungsgewinn durch DualCore kommen kann.
Vorab sei an dieser Stelle den Firmen Intel und Sapphire für die unkomplizierte Stellung von Testsamples für unsere neuen Teststationen gedankt, womit auch dieser Artikel wieder ermöglicht wurde.
Natürlich basiert auch dieser Artikel wieder auf Messungen mit Savegames anstatt Timedemos. Dies ermöglichte uns, auch aufgrund der Kürze der Savegames, speziell nur jene Szenen herauszusuchen, welche wir auch wirklich vermessen wollten - während bei einem Timedemo meistens mehrere Szenen (und viel Leerlauf) auf einmal vermessen werden, welche aber jeweils unterschiedliche Performance-Charakteristiken aufweisen können. Ein Timedemo-Durchlauf verwischt diese unterschiedlichen Szenen und deren unterschiedliche Performance-Charakteristik aber immer zu einer einzelnen Performance-Aussage, was die Aussagekraft einer solchen Messung dann doch erheblich einschränkt.
Anstatt Messungen des eher durchschnittlichen Gameflusses mittels Timedemos stellen unsere Messungen ausgewählter kurzer Szenen über den Weg der Savegames somit eher Worstcase-Benchmarks dar: Wir messen dann, wenn die Hardware wirklich unter Stress gerät - und eben auch nur die jeweilige Stress-Szene und nicht noch jede Menge Leerlauf oder gleich eine andere Szene mit hinzu. Die von uns benutzten Savegames stellen dann verschiedene Anforderungsvarianten dar - von geringen Anforderungen bis zu extrem fordernden.
Bei allen Savegames wurden jeweils immer die ersten fünf Sekunden zur Messung benutzt, welche dabei immer mittels Fraps durchgeführt wurden. Dabei wurde jedes Savegame generell fünffach ausgeführt wie gemessen und dann der Durchschnitt dieser Messungen als Ergebnis genommen. Die für diesen Artikel zum Einsatz kommenden Savegames wurden in den entsprechenden Performance-Reports schon genauer beschrieben: Anno 1701, Command & Conquer: Tiberium Wars, Need for Speed: Carbon, Supreme Commander und Test Drive Unlimited.
Die für diesen Artikel benutzten Testsysteme wollen wir an dieser Stelle nur absolut grob nennen, da es bereits hier umfassend ausgeführt wurde. Als Prozessoren für diesen Test wurden jedoch wie gesagt ein Pentium 4 560 (3.6 GHz) und ein Athlon 64 X2 4600+ (2.4 GHz) angesetzt, als Grafikkarte kamen einheitlich eine Radeon X1900 XT (auf Catalyst 7.3, A.I. default mit Area-AF) zum Einsatz. In den Test-Spielen selber wurde immer die bestmögliche Grafikqualität und 5.1 Surround-Sound ausgewählt. Im Sinne eines CPU-limitierten Tests wurde jedoch kein Anti-Aliasing oder anisotroper Filter angesetzt und zudem die Auflösung auf 800x600 bzw. 1024x768 bei Supreme Commander beschränkt.
Die Aufbausimulation Anno 1701 zeigt einen guten Leistungsgewinn bei DualCore-Prozessoren, im Schnitt dieser Messungen sind dies immerhin 46 Prozent, in der Spitze gar 56 Prozent. Interessanterweise kann hierbei HyperThreading aber gar nicht so schlecht mithalten: Im Schnitt 20 Prozent und in der Spitze 24 Prozent sind wirklich nicht schlecht - besonders da HyperThreading im gewöhnlich bei Software ohne Stream-fähige Daten meist nicht über Leistungsgewinne von 10 Prozent hinauskommt.
Problematisch sind hier aber natürlich die trotzdem generell zu niedrigen Frameraten des Pentium 4: Anno 1701 scheint mit der Netburst-Architektur nicht mehr zurechtzukommen, selbst die DualCore-Modelle dieser Architektur (Pentium D) dürften wohl zu schwachbrüstig sein, um dieses Spiel noch mit anständigen Frameraten betreiben zu können.
Eher nur durchschnittliche Leistungsgewinne durch DualCore präsentiert Command & Conquer: Tiberium Wars: Hier sind es im Schnitt 25 Prozent, in der Spitze auch nur 28 Prozent - dabei würde gerade dieses Spiel einen Performanceschub durch DualCore gut vertragen können. Wie aber schon bei Anno 1701 kommt das HyperThreading-Modell im relativen Vergleich noch ganz gut mit: Hier stehen im Schnitt 12 Prozent und in der Spitze 14 Prozent für HyperThreading an.
Allerdings sind auch hier die Frameraten des Pentium 4 Prozessors schon allgemein zu niedrig, um noch vernünftig spielen zu können - selbst wenn der Abstand zum moderneren Athlon 64 X2 Prozessor hier nicht so groß ist. Aufgrund des relativ geringen Leistungsgewinns durch DualCore dürften der Netburst-Architektur hier aber auch ihre DualCore-Modelle nicht wesentlich weiterhelfen.