• Mitspieler gesucht? Du willst dich locker mit der Community austauschen? Schau gerne auf unserem ComputerBase Discord vorbei!

StarCraft [Review] Starcraft 2 - CPU Benchmarks

Baal Netbeck

Fleet Admiral
Registriert
Apr. 2008
Beiträge
11.956
Dies ist ein ausgelagertes Thema aus diesem Hauptthread:
https://www.computerbase.de/forum/t...kussion-zu-spieletests.1728575/#post-20678303

Intro:

Starcraft 2 ist nun schon viele Jahre alt und obwohl lange tot gesagt, erfreut es sich verdienterweise immer noch konstanter Beliebtheit.

Leider hat es in all diesen Jahren nie ein performance update gegeben, das die multicore Unterstützung verbessert.
Das Spiel läuft praktisch limitiert durch einen CPU Thread und lagert lediglich ein wenig Arbeit auf einen zweiten Thread aus.

Die Testkandidaten sind mein Ryzen 1800X in verschiedenen Konfigurationen gegen einen i5 3570K.
Beide mit meiner Vega64 LC(undervolted) gepaart.

In diesem Review zeige ich diverse Aspekte wie:
Einflüsse von 4 vs 8 Kernen, SMT an/aus, Skalierung mit Ramgeschwindigkeit, verschiedene CCX Konfigurationen für Ryzen. IPC Vergleiche, Einfluss des HBCC, Einfluss von CPU und RAM Optimierungen, Windows 7 vs. 10 und eine Betrachtung der Infinity Fabric Skalierung.

Fangen wir mit der Testszene an.

https://www.youtube.com/watch?v=CnnoDIb3LFM&list=PLP9fskJGwUOT5CByAJMJrXaggyMuUgsFt&index=10

Inzwischen nutze ich eine neue Testszene, die ich einem professionellen match zwischen rougue und Hero entnommen habe.
Ich nutze eine 60 Sekunden dauernde Kampfszene aus Sicht von rougue.
Es ist keine unglaublich anspruchsvolle Szene des Spiels, denn es gibt in 4v4 und im Koop deutlich extremere Szenen.
Es ist aber eine anspruchsvolle Szene für ein 1v1.

Das nutzen eines Replays erlaubt sehr reproduzierbare Ergebnisse, die sich Dank der Art des Replaysytems nicht wirklich von einer live Szene unterscheiden. Das Spiel hat ein paar Probleme mit dem rechtzeitigen laden von Animationen. Es ruckelt jedes mal wenn bestimmte neue verwendet werden. Es gibt sogar eine extra Map, die alle im Spiel vorkommenden einmal zeigt, damit sie für den Rest der session im Speicher sind.

Wenn man darauf verzichtet, wird ein live match, immer wenn diese zum ersten mal gezeigt werden, ruckeln.
Das Replay dieses match läuft erstmal schlechter, denn wenn man bis zu einer Stelle vorspult und dann laufen lässt, dann sieht man alle Animationen zum ersten Mal.

Spult man dann zurück und lässt die Szene erneut laufen, läuft sie besser als das live match weil alles schonmal benutzt wurde.

Meine Art die fünf Messungen die ich mache auszuwerten, eliminiert immer die schlechtesten zwei Werte und zeigt daher immer die Performance ohne diese Nachladeruckler der ersten Messung....es ist also so, dass das die Replay Auswertung den besten Fall zeigen.

Ich bin glücklich mit dieser Methode und denke es ist die beste Methode das Spiel zu testen.

Ich starte und stoppe das Spiel von Hand nach dem internen Timer und nicht nach einem Testzeitraum von 60s weil die Blizzard Uhren leicht anders ticken und es bei besonders schlechter Performance vorkommen kann, das das Replay langsamer läuft und die Szenen nicht vergeichbar stoppen.

Wer die Szene selbst testen möchte findet hier das benutzte replay:
https://drive.google.com/drive/folders/1Hahuj2q234W1LTFi5WLAZOo_uR4tF-qu?usp=sharing

Frametimegraphen:
Hier der Vergleich meines Ryzen 7@3,8GHz und des Ivy Bridge i5 mit 4,4GHz

sc2 graph i5 zen.png

Wie man sieht, hat das Spiel mit deutlichen Frametime Schwankungen zu kämpfen.

Ich habe an zwei Stellen heran gezoomt, weil sich die Frametimes leicht anders verhalten.
In der intensiveren Szene(rechts oben vergrößert) schwanken die Frametimes praktisch dauerhaft hoch und runter.
In dem weniger intensiven Bereich(links oben vergrößert) zeigt sich ein ähnliches Verhalten wie in Heroes of the Storm, wo immer ein paar gute Frametimes von einzelnen schlechten unterbrochen werden.

Vergleicht man den i5 3570K und den Ryzen, sehen die Frametimes eigentlich gleich aus, die des i5 sind etwas nach oben verschoben und in dem links oben vergrößerten Bereich sieht man, dass beim Zen ca. jeder 4. Frametime schlecht ist und für den i5 ca. jeder dritte.

Um diesem Auf und Ab eine quantitative Entsprechung zu geben benutze ich eine Reihe statistischer Werte die ich aus der Auswertung von jeweils fünf Messungen gewinne.
Die gezeigten Frametimeverläufe waren jeweils die zweit besten was die 0.1% low Werte angeht.

Vergleichen wir also die Systeme quantitativ:

i5 3570K vs. Ryzen

sc2 i5 vs zen.png

Zur Erklärung des Diagramms:
Aufgetragen auf der y- Achse sind die "inversen Frametimes". Das sind im Grunde die FPS aber halt nicht durch "Zählen von Frames über einen Zeitraum" bestimmt, sondern über den Kehrwert der Frametimes gebildet.
Wenn ihr hier bei einem Wert links(avg FPS) 44 in 1/s seht, dann würde euch Fraps auch 44 FPS anzeigen.

Aus dem Frametimeverlauf bestimme ich einen effektiven Frametimeverlauf. Diesen habe ich ausführlich im Hauptthread unter "Nomenklatur" diskutiert.
"avg eff FPS" ist der Kehrwert des Durchschnitts dieses effektiven Frametimeverlaufs.
Um so stärker dieser Wert gegenüber den avg FPS abfällt um so stärker sind die relativen Schwankungen der Frametimes ....eine Art "Mikroschwankungsindikator".

Es folgen die Xth percentile und X% low Werte, die sich Stück für Stück immer weiter den schlechten Frametime Werten zuwenden und daher für das Spielgefühl besonders wichtig sind.

5%low und 99th percentile sind dabei noch eher auf den allgemeinen Spielfluss konzentriert und bekommen wenig bis nichts von einzelnen Frametimepeaks(Rucklern) mit.

Die letzten drei Werte werden je nach Spiel mehr oder weniger von diesen Frametimepeaks dominiert und sind meiner Meinung nach oft das beste Mittel um zu beschreiben ob und wie "Ruckelig" sich das Spiel anfühlt.
Leider basieren sie nur auf einem kleinen Teil der Frametimes und daher unterliegen sie größeren Ungenauigkeiten.
Auch wenn ich die 0,1% low Werte sehr schätze, bieten sie oft zu schlechte Reproduzierbarkeiten und daher bin ich ein großer Fan der 1% low Werte.
Diese sind in der Regel noch gut zu reproduzieren und entsprechen sinnvoll dem Spielgefühl.

Die Linien zwischen den Symbolen sind extra gestrichelt, da sie nur zur besseren Lesbarkeit beitragen sollen und keine Punkte dazwischen suggerieren sollen.

In der Legende sieht man die Symbolformen und Farben der verscheidenen Testkandidaten.

Die Wertepunkte selbst sind Durchschnittswerte aus den drei besten Werten von fünf Messungen und haben zusätzlich Fehlerbalken, die sich aus der empirischen Standardabweichung dieser drei besten Werte ergeben.

Der i5 mit 4,4GHz muss sich den Ryzen@3,8GHz geschlagen geben, allerdings liegt er praktisch gleichauf wenn der Ryzen nur mit 2133er Ram bentzt wird.

Mit Stock Taktraten verliert der i5 deutlich.

Ryzen CCX Konfiguration und SMT

sc2 ccx smt.png

Da alle verwendeten Konfigurationen mehr als vier Kerne haben und das Spiel durch einen einzelnen CPU-Thread limitiert ist, sind die Unterschiede minimalst.

bei den avg FPS sieht man einen kleinen Vorteil für 4+0, da es mit dieser Konfiguration keine Nachteile durch den Infinity Fabric gibt.

Leistungsaufspaltung beim i5

sc2 i5 clockram.png

Keine großen Überraschungen hier.
Nur 2,8 GHz machen sich trotz schnellem Ram nicht gut, die stock Taktraten mit 1600er Ram(Intel Freigabe) müssen sich der Übertaktung auf 4,4GHz geschlagen geben.

Die 4,4GHz mit 1333MHz DDR3 ordnen sich an zweiter Position ein.

Der Wechsel von 1333 auf 1866 macht aus dem 40% schnelleren Ram 13% mehr avg FPS und 9,7% mehr 1% low.
Von 2,8 zu 4,4GHz sind es 57% mehr Takt. Dies führt zu einer Steigerung der avg FPS von 45% und 50% bei den 1% low.

Die Ram Geschwindigkeit bringt gute Vorteile, der CPU Takt ist aber wie zu erwarten wichtiger.

IPC Vergleich

sc2 ipc.png

Drei mal vier Kerne, ohne HT/SMT, bei 2,8GHz im Vergleich.

Bei gleichem Takt zeigen sich ordentliche IPC Verbesserungen mit Ryzen und das auch mit dem langsamen Ram.

DDR3 Ram Skalierung

sc2 ddr3 scale.png

Ich habe eine etwas andere Auftragung gewählt.
Wir sehen hier wie sich die verschiedenen Statistikwerte mit steigender Ram Geschwindigkeit verändern.

Wir sehen eine relativ lineare Steigerung mit dem DDR3 Takt.

DDR4 Ram Skalierung

sc2 ddr4 scale.png

Es zeigt sich das gleiche Bild wie bei DDR3.
Der Sprung von 2666 zu 2800MHz ist vermutlich eher ein zu gutes Ergebnis für 2800MHz....man sieht auch an den größeren Fehlerbalken, dass hier mehr Variation in den Messungen ist.

Insgesamt ergibt es durchaus eine ordentliche Ram Skalierung, ich hätte aber mit noch mehr Einfluss gerechnet.

Die avg FPS haben sich durch den 50% schnelleren Ram um 17,6% und 14,1% bei den 1% low Werten.


HBCC settings

sc2 hbcc.png
Es zeigen sich keine Unterschiede durch eine andere HBCC Zuweisung.

Ryzen optimieren und übertakten

sc2 optimiz.png

Mit dem 1800X habe ich bereits das stärkste Modell der Ryzen 1000er Serie.
Aber wie viel Leistung verschenkt man wenn man weder den Ram im Bios einstellt noch den Energiesparplan ändert.
Der ausbalancierte Energiesparplan sollte inzwischen auch für Ryzen funktionieren und nicht mehr die Kerne schlafen legen aber auf Höchstleistung wird nicht heruntergetaktet.

Und wie viel Leistung kann man mit einem minimalen OC auf 3,8GHz und optimieren von Subtimings noch herausholen?

Man hätte eigentlich erwarten können, dass dank einem 1-2 Kern Boost von 4,1GHz der Stock 1800X zumindest mit docp und Höchstleistungsprofil gewinnen würde.

Aber es zeigt sich ein weiteres Mal, dass der Turbo Boost der Ryzen 1000er Serie praktisch nutzlos ist und die 3,8GHz gewinnen trotzdem wieder.

Gerade die Performance mit dem reinen Bios default Werten und asubalancierten Energiesparplan sind spürbar abgeschlagen.

Einfuss von Ramtakt auf den Infinity Fabric
Hintergrund:
Wer sich mit Ryzen beschäftigt hat, der wird öfter gehört haben, dass Ryzen schnellen Ram braucht, weil sonst die Kommunikation zwischen den CCX durch einen lansamen IF behindert wird.

Aber ist dem auch so? Ich habe noch keinen brauchbaren Test gesehen, der das untersucht hat und habe mir was eigenes überlegt.

Theoretisch ist da schonmal was dran. Gerade in neueren PC Spielen wird die Arbeit auf mehrere Kerne aufgeteilt und es findet viel Kommunikation statt um alles synchron zu halten und die Ergebnisse zusammenzuführen.

Der IF ist an den Takt des Ram gekoppelt und es gibt Veröffentlichungen, die zeigen das sich die Latenzen von einem CCX zum anderen mit schnellerem Ram verbessern.

Die Frage ist, ob dies rein theoretisch ist oder wirklich so signifikant, dass es sich auch in der Spieleperformance niederschlägt.

Leider steigt mit schnellerem Ram auch die Spieleperformance und es wird schwer zu sehen, was davon die IF Verbesserung war und was einfach der schnelle Ram.

Die IF Unterschiede von 2+2 zu 4+0 werden durch den doppelten L3 Cache bei 2+2 verschleiert.

Vorgehen
Bei den Ryzen 8 Kernern hat man die Möglichkeit über das Bios Kerne zu deaktivieren und dies habe ich einmal als 2+2 und einmal als 4+0 Konfiguration gemacht. SMT war deaktiviert.
Dann habe ich beides einmal mit 2133 und einmal mit 3200er Ram getestet.
Dann habe ich den prozentualen Performance Gewinn(2133 zu 3200) einmal für 2+2 und für 4+0 ermittelt und die Differenz gebildet.

Unter der Annahme, das der Gewinn durch den schnelleren Ram gleich sein sollte, zeigt die Differenz also den reinen Einfluss durch den beschleunigten IF.
Die Ergebnisse beruhen allerdings auf je vier fehlerbehafteten Größen und wenn man mit Gaußscher Fehlerfortpflanzung die Fortpflanzung dieser Fehler in das Endergebnis berechnet, zeigen sich leider große Unsicherheiten.
sc2 IF.png

Ganz wichtig sind hier die Fehlerbalken!
Da die Methodik recht fehleranfällig ist, sind die Ergebnise immer mit Vorsicht zu genießen.

Wenn man sich den Vergleich von 4+0 zu 2+2 anguckt....

sc2 2+2vs4+0.png

....erkennt man gut den größeren Gewinn durch das Ram OC bei 2+2.

In manchen Spielen hatte ich sogar größere Gewinne für 4+0 gesehen und es auf den Einfluss des halben L3 Cache geschoben.

Hier scheint der Geschwindigkeitszuwachs des IF jedoch viel zu bringen.

Als Ergänzung, hier nochmal der Frametimeverlauf von 2+2 gegen 4+0 bei 3200er Ram:

sc2 graph 2+2vs4+0.png

Alte gegen neue Testszene

Als ich letztes Jahr angefangen hatte mich mit CPU Tests zu beschäftigen, hat mir ClamorofSoul netterweise ein Replay zur Verfügung gestellt, das eine sehr extreme Szene aus einem KI 4v4 enthielt.

Szene hier zu sehen:

So viele Einheiten...so viele Fähigkeiten und Effekte...solche Szenen sieht man höchstens im Koop Modus.

Ich bin in CPU Tests ein großer Fan von worst case Szenen aber hier habe ich mich von dieser Szene abgewendet und bin auf die realistischere neue Szene gewechselt.

Wenn man die Frametimes anguckt, sieht man wie stark sich die Szene unterscheiden:

sc2 graph old vs new bench.png

Oder als Statistik gezeigt:

sc2 old vs new bench.png

Die alte Szene hätte so ausgesehen, als ob das Spiel auf keiner CPU laufen würde, was nicht der Fall ist.
Es läuft auch in der neuen Szene nicht gut, aber die alte Benchmark Szene zeigt eine Situation, die praktisch kein Spieler je zu Gesicht bekommen würde.

Fazit:

Starcraft 2 ist sicherlich das falsche Spiel um einen 8 Kerner zu testen. ;)

Aber so sieht es nunmal aus und die Ryzen 1000er Serie kann sich dank mehr IPC und schnellerem Ram immerhin von ivy Bridge absetzen.

Beide profitieren von Ram OC und noch mehr von CPU Takt.

Die Komunikation über den Infinity Fabric scheint das Spiel durchaus deutlich zu beeinflussen.
Vor allem wenn man wie im Video sieht, das die Hauptlast auf Kern 2 liegt und der Rest der Berechnungen auf Kern 8 erfolgt(mag sich immer wieder ändern und ab und zu auf den gleichen CCX fallen wie im Video zur alten Testszene).
Wir können aber auch sehen, dass dies vor allem für 2133er Ram gilt und mit 3200er Ram die 2+2 Konfiguration fast aufgeholt hat....mit schnellem Ram ist das Problem also kaum noch von Bedeutung.

Was haltet ihr von meiner Entscheidung die Testszene zu wechseln?
 
  • Gefällt mir
Reaktionen: fox40phil und Iscaran
Ich halte Benchmarks zu SC2 generell für sinnlos, so lange ich reproduzierbar die FPS auf unter fünf FPS drücken kann. Da hilft einem auch jegliches OC oder sonstiges Optimieren nicht mehr weiter. Ob ich dann nun vier oder fünf FPS habe ist vollkommen egal.
 
Zuletzt bearbeitet:
@shaav Dann sind alle tests von allen grakas auch sinnfrei, denn ich kann reproduzierbar mit ds alle karten einbrechen lassen ....

@te hab mir sc2 jetzt wo ich kostenlos die hots kampangne bekommen hab wieder installiert und hab auch lotv im versus viel gespielt, hab mich sehr gefreut, dass es nach wie vor viel gespielt wird! Zu jeder tag nen match gefunden.

Ich hab nen i5 750 @3,35 laufen mit 1600 ram, und ne gtx 670 und hab fast alles auf ultra, auf 1080p

Da ich davon ausgehe, dass starcraft2 auf allen modernen systemen passabel läuft ist eine benchmark reihe schon sehr ungewöhnlich.

Da man sich benchmarks anschaut um eine kaufentscheidung zu treffen ist der vergleich auch trotzdem sinnvoll, fazit, selbst mit sehr alter hardware lohnt sich der wexhsel in der regel nicht, danke für den beleg :)
 
@LaZz: Bei dem 5 FPS Problem geht es um ein reines CPU Limit. Das kriege ich auch locker in 1080p hin!
 
Die Auflösung ist in StarCraft 2 völlig egal.
Auch meine alte GTX 680 wurde nicht ausgelastet.

Es ist aber wichtig ob man eine Nvidia oder AMD Karte verwendet, weil der Nvidia Treiber die drawcalls auf andere Threads schieben kann und damit den Hauptthread des Spiels entlastet.

Da hat AMD einige Jahre zu früh auf Hardware scheduler gesetzt....toll für DX12 und Vulkan/Mantel aber hinderlich wenn man was über den Treiber optimieren möchte.

Die Leistung würde also mit Nvidia Karte besser ausfallen...sie würde aber auch besser ausfallen, wenn ich nicht alle Physik und sonstige Effekte auf das Maximum gesetzt hätte. Davon gehen nämlich einige auf die CPU.

Pro Gamer spielen das Spiel daher ohne diesen eye candy.

Ich fand den Test Recht interessant, weil man immer wieder ließt, dass StarCraft nicht mit Ryzen zusammen arbeiten würde.

Hier zeigt sich aber kein Nachteil gegenüber Intel.
 
@shaav Es spielt doch überhaupt keine rolle, in welches limit ein test rennt, dieses limit wird nur erreicht durch völlig unrealistische situationen, zeig mir ein 1 on 1 mit 5 fps cpu limit, wenn die bedingungen so gewählt werden, dass ein spielen nicht möglich ist, brauch man nicht mehr testen, denn das geht bei fast jedem spiel
 
Zuletzt bearbeitet von einem Moderator:
Für 5FPS brauche ich nur in den Co-op Missionen die map "Dead of night" spielen und ein paar Swarmhosts bauen.
 
Der Coop ist wirklich hart für die Leistung.....5 FPS klingen aber ein bisschen sehr niedrig....mit was für einer CPU und mit welchem Ram denn?
 
Ryzen mit 3000er RAM.
 

Anhänge

  • 2.jpg
    2.jpg
    587,2 KB · Aufrufe: 767
Zurück
Oben