HyperThreading vs. DualCore in Spielen

Dienstag, 31. Juli 2007
 / von Leonidas & Madkiller
 

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.