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

Heroes of the Storm [Review] Heroes of the Storm - CPU Benchmarks

Baal Netbeck

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

Intro:

Heroes of the Storm ist zwar nicht so erfolgreich wie Lol und Dota 2, lässt sich aber gut mit einem Replay testen.
Die Spieleengine ist die gleiche wie für Starcraft 2 und nutzt scheinbar ebenfalls nur zwei CPU Threads mit starker Belastung auf einem Thread.

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 und eine Betrachtung der Infinity Fabric Skalierung.

Fangen wir mit der Testszene an.

Man spult das Replay bis kurz vor 6:00 vor und lässt die Kamera Muradin folgen. Dann lässt man das Replay in der Standardgeschwindigkeit(Schneller) laufen und startet die Messung mit dem umspringen des Timers auf 6:00.

Man stoppt um 7:00 und spult das Replay wieder bis kurz vor 6:00 zurück.

Da ich selbst ein Noob in dem Spiel bin, habe ich mir fremde Replays besorgt und diese relativ anspruchsvolle Szene mit objective und Team fight gefunden.

Die Verwendung von Replays scheint bei Starcraft 2 und Heroes of the Storm kein Problem zu sein.
Es wird genau das gleiche gemacht wie im echten Gameplay. Die Frametime Peaks und Verläufe sind an den gleichen Stellen jedoch kann alles ein paar % verschoben sein.

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

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

hero graph i5 zen.png

Wie man sieht, hat das Spiel mit großen Frametime Schwankungen zu kämpfen.
Der i5 liefert praktisch den gleichen Frametimeverlauf jedoch ein paar Frames nach links verschoben und etwas schlechter(höhere Frametimes).

Wie man sieht sind die meisten Frametimes sogar sehr gut, werden jedoch bei jedem 6-8. Frametime von einer großen Peak unterbrochen.

Dies führt zu einem massiven Unterschied zwischen den avg FPS und der gefühlten Performance des Spiels.


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 vs. Ryzen

hero 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.

Alle Werte für Ryzen liegen gleichauf.
Der i5 ist mit 4,4GHz nur leicht zurück und mit stock Taktraten/Ram nochmal weiter entfernt.

Wie man sieht, ist der Unterschied von den avg FPS über die effektiven FPS hin zu den 5% low Werten sehr heftig.
Danach entwickelt es sich halbwegs stabil bis zu den 0.1% low Werten.

Ryzen CCX Konfiguration und SMT

hero ccx smt.png

Alle Konfigurationen liefern im Grunde die gleiche Leistung, nur 4+0 kann sich minimal absetzen.

Das sieht man auch wenn man die Frametimes genauer anguckt:

hero graph zen 44vs22.png
Mal ist der eine Peak höher und mal der andere....faszinierenderweise scheinen die beiden Messungen perfekt aufeinander zu passen obwohl ich mich an meine Regel gehalten habe und einfach für beide Konfigurationen die Messung mit den zweitbesten 0.1% low Werten geplottet habe.....ich hätte selbst nicht gedacht, dass es so reproduzierbar ist.

Leistungsaufspaltung beim i5

hero i5 clockram.png

Wenn wir uns den i5 3570K angucken sehen wir deutliche Verluste durch weniger CPU und Ram Takt.

IPC Vergleich

hero IPC.png

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

Wie man sehen kann hat sich etwas getan was die Leistung pro CPU Takt angeht.
Auch wenn ein guter Teil davon mit DDR4 Ram zusammenhängen kann, liegen die vier zen Kerne immer vorne.

DDR4 Ram Skalierung

hero ddr4 scale1.png

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

Heroes of the Storm profitiert deutlich von schnellem Ram, auch wenn die X% low Werte nicht so stark betroffen sind.

Die Werte zeigen zwar keine Sättigung zu höheren Taktraten und profitieren jedoch vor allem bis 2666MHz.

Unterschiedliche Ram Skalierung bei 4 Kernen?

hero ram scale with cores.png

Egal ob 4 Kerne ohne SMT, mit SMT oder 8 Kerne mit SMT, der Wechsel von 2133 auf 3200 MHz bringt exakt die gleichen Leistungsgewinne.

Die avg FPS gewinnen 21%, die avg eff FPS auch 21%
und die 1% low gewinnen 15,7%


HBCC settings

hero hbcc.png

Keine Unterschiede zu messen!

Ryzen optimieren und übertakten

hero optimize.png

Mit dem 1800X habe ich bereits das stärkste Modell der Ryzen 100er 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?

Da Heroes of the Storm gut auf Ram Geschwindigkeit anspricht, verliert man mit Bios default Einstellungen viel Leistung.
Das laden des docp Profils bringt den sonst stock 1800X jedoch schon nah an meine Einstellungen heran.

100MHz mehr allcore(3,6% mehr score in Cinebench) und 9,6% mehr Leserate des Ram bringen immerhin 4,8% mehr avg FPS und 4,7% mehr 1% low.

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.

hero IF.png

Ganz wichtig sind hier die Fehlerbalken!
Diese sind in diesem Fall zwar nicht groß genug um die Messung in Frage zu stellen, auf genaue Werte sollte man sich aber nicht konzentrieren.

....auch scheint hier die meine Idee nicht zu funktionieren. Denn die Werte sind negativ und damit wäre die erste Interpretation, dass ein schnellerer IF schlecht in diesem Spiel ist.
Mit über 8% sogar ziemlich deutlich.

Schauen wir uns also die Messungen einzeln an:
hero 2+2vs4+0.png

Hier zeigt sich was die negativen Ergebnisse verursacht hat.
Bei 3200er Ram zeigt sich das erwartete Verhalten und 4+0 ist schneller als 2+2.

Aber bei 2133MHz sinkt die Leistung für 2+2 deutlich weniger und kann sich vor 4+0 setzen.

Eine logische Erklrung, die mir dazu einfällt ist ein besonderer Nachteil durch den nur halb so großen L3 Cache.

Ich nehme an, dass ein größerer L3 Cache besser dazu geeignet ist, einen langsamer laufenden Ram "abzufedern".
Deshalb verliert 2+2 weniger Leistung und das überwiegt die Nachteiele des langsameren IF.

Eine andere Erklärung, die ich mir vorstellen könnte ist eine zufällig andere Benutzung der Threads.
Bei 4+0 ist es egal welche Threads vom Spiel benutzt werden. Bei 2+2 jedoch nicht.

Es könnte sein, das bei 2+2 3200 vorwiegend Threads aus verschiedenen CCX benutzt wurden und bei 2+2 2133 Threads auf dem gleichen CCX.

Ich muss mir nochmal genauer überlegen wie ich diese Messungen verbessern kann und wie viel Sinn das Auswerten macht. :freak:


Mein Fazit aus diesem speziellen Ergebnis lautet:"Da das Spiel von schnellerem Ram profitiert, sollte man wenn möglich diesen einsetzen. Die Angst das der IF sonst deutlich limitiert kann ich leider weder bestätigen noch verneinen.."

Fazit:

Heroes of the Storm ist voll CPU limitiert und interessiert sich nur für single core Leistung und Ram.

Die regelmäßigen Frametimeschwankungen scheinen am Spiel zu liegen und verschlechtern das Spielgefühl massiv.

So sollte das Spiel nach Betrachtung der avg FPS eigentlich wie 120 FPS laufen, gefühlt sind es aber nur um die 60 FPS.

Den HBCC kann man ignorieren.

Das docp Profil für schnellen Ram laden bringt bereits große Vorteile.
Weitere Optimierungen bringen zwar noch etwas mehr Leistung, sind aber nicht spürbar schneller.

Was meint ihr zu meinen Vermutungen bezüglich der Infinity Fabric Auswertung?
 
Zuletzt bearbeitet:
Das docp Profil für schnellen Ram laden bringt bereits große Vorteile.
Weitere Optimierungen bringen zwar noch etwas mehr Leistung, sind aber nicht spürbar schneller.

Was meint ihr zu meinen Vermutungen bezüglich der Infinity Fabric Auswertung?

sehr schöner Test.:)

Das hängt Stark von der Anwendung oder dem Game ab ob ein hoher Ramtakt sich lohnt. Mittlerweile schafft ja jeder Ryzen DDR 3000 - 3200 mit Safe Timings kein Problem. Steigert die Transferrate schon ganz gut.

Ob der Infinitakt überhaupt noch gesteigert wird, ist eine Frage die nicht so einfach beantwortet werden kann. Ich denke die letzten Aegsa Updates haben den Takt möglicherweise fixiert. Jedenfalls ist mir aufgefallen das CPU Z den NB Takt garnicht mehr anzeigt.
 
sehr schöner Test, aber bitte korrigiere dochmal die Überschrift des Bereichs "Einfuss von Ramtakt auf den Infinity Fabric" :) durch Kopie und Paste habe ich das jetzt in jedem deiner Tests gesehen ;)
 
Zurück
Oben