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

[Review] Hitman 2017 - CPU Benchmarks

Baal Netbeck

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

Edit: Wegen dem Hinweis von HisN zu einem vorliegenden FPS Cap, habe ich einige Ergebnisse neu bewertet!

Edit2: Eines der letzten Updates hat das FPS Cap entfernt und der Ryzen bringt jetzt 119,3 FPS statt 87 FPS!

Edit3: Ich habe mir jetzt noch eine andere Szene in Marrakesh herausgesucht, auf die ich eventuell wechseln möchte. Und hier habe ich auch 3200 gegen 2133MHz mit dem Ryzen getestet und es ergeben sich jetzt große Unterschiede. Mit 2133 fallen die avg FPS von 105,9 +- 0,13 auf 83,64+-0,08 1/s.
Die 1% low von 73,32+-0,47 auf 57,12+-0.16.
Das sind 26,6% mehr FPS für 3200MHz ram und 28,4% mehr bei den 1%low.

Intro:

Hitman 2017(oder heißt es 2016?) ist ein Sandbox Agenten Spiel mit hübscher Grafik und langer Tradition.
Man kann zwischen DX11 und 12 wählen und die erste Mission kostenlos spielen.

Da das Spiel auf meiner Vega64 besser mit DX12 läuft habe ich mich dazu entschieden diese API zu nutzen.
Einen Vergleich von DX11 zu 12 gibt es natürlich trotzdem.

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

Fangen wir mit der Testszene an.

Meine Messung beginnt nachdem die Minimap fertig eingeblendet ist und ich beginne direkt damit loszulaufen.

Die Messung endet wenn ich am Ende auf dem Gras stehen bleibe.

Außer zwei Türen zu öffnen mache ich nicht viel und laufe lediglich durch die NPC Gruppen.
Gerne würde ich mehr Aktion zeigen aber das ließ sich nicht reproduzieren.

Wer die Szene selbst testen möchte findet im Video die Grafikeinstellungen.
Wichtig ist, dass unter DX12 das Fraps Overlay nicht funktioniert. Man muss die Messung blind starten und beenden.
Gerade mit 4 CPU Kernen können diese zu 100% ausgelastet sein und der Hotkey wird dann ärgerlicherweise machnmal nicht registriert. Das starten und stoppen im stehen hift hier.
Auch hilft ein zweiter Monitor, wo man die abgeschlossenen Messungen auftauchen sehen kann.

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

hit graph i5 vs zen.png

Wie man sieht, hat das Spiel eine relativ gleichbleibende Belastung, die mit den nur 4 Kernen des i5 starken Mikroschwankungen unterliegt.

Das gleiche Bild zeigt sich mit 4 Kernen und 4 Threads eines Ryzen wie hier zu sehen:

hit graph zen 8 vs 4 core.png

Vergleicht man die vier Kerne des i5 mit 4 zen Kernen sieht der Verlauf fast gleich aus:

hit graph zen 4 vs i5.png

Interessant ist, dass es für saubere Frametimes gar nicht mehr Kerne braucht sondern bereits aktiviertes SMT die vier Kerne fast auf das Niveau der 8 Kerne mit SMT katapultiert:

hit graph zen 8c vs 4c smt.png


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.

i5 vs. Ryzen

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

Wie schon in den Frametimegraphen zu sehen, liegt der Ryzen mit 8 Kernen oder 4 Kernen mit SMT deutlich in Führung.

Der i5 mit 4,4GHz muss sich den 4 Kerne des Ryzen geschlagen geben und baut mit Stock Taktraten und freigegebenem Ram noch deutlicher ab.


Edit: HisN hat mich netterweise darauf aufmerksam gemacht, das nachträglich ein FPS Cap in das Spiel gepatcht wurde. Dieses limitiert irgendwo von fast 90 bis 100 FPS...in meinem Fall sehe ich so gut wie nie mehr als 89FPS und wenn ich das Menü öffne auch nur 93 FPS.
Ohne dieses Cap wäre der Unterschied von 4c8T zu 8 Kernen höchstwahrscheinlich größer.
Edit2: Das FPS Cap gibt es nicht mehr. Ich werde die Daten hier so stehen lassen und irgendwann eine neue Testserie starten. Dann eventuell auch mit einer anderen Testszene.
Ryzen CCX Konfiguration und SMT

hit ccx SMT.png

Wie man schon durch den geringen Unterschied von 4 Kerne mit SMT zu 8 Kernen mit SMT sehen konnte braucht das Spiel oder zumindest diese Szene nicht viel mehr als 4 Kerne.
Daher verwundert es nicht, dass sich 8 Kerne ohne SMT hier minimal in führung setzen.

Die 4+0 Konfiguration schlägt hier die 2+2 Konfiguration.

4+0 hat den Vorteil keine Komunikation der Kerne über den IF zu haben, muss im Gegenzug aber mit dem halben L3 Cache zurechtkommen.


Leistungsaufspaltung beim i5

hit i5 clockram.png

Die deutliche Abhängigkeit von der Ram Geschwindigkeit lässt die 4,4GHz mit 1333er DDR3 auf die stock Taktraten mit 1600 zurückfallen und dank 1866er Ram liegen die 2,8GHz gar nicht so weit dahinter.

IPC Vergleich

hit IPC.png

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

Ryzen ist zweimal vertreten und zwar einmal mit schnellem und einmal mit langsamem Ram.

Wieder zeigt sich die starke Abhängigkeit vom Ram wenn nur 4 Kerne zum EInsatz kommen. Der Ryzen mit 2133er DDR4 liegt gleichauf mit dem i5 mit 1866er DDR3.

Unterschiedliche Ram Skalierung bei anderen Kern und Thread Anzahlen?

hit ram 4 vs8c.png

(Obwohl Hitman in der getesteten Szene auch mit 8 Kernen CPU limitiert läuft, zeigen sich größere Gewinne bei 4 Kernen ohne SMT.)
Edit: Die schlechtere Skalierung mit Ram bei Kernen liegt wahrscheinlich an der Nähe zum FPS Cap!
Edit2: Das FPS Cap gibt es nicht mehr. s.o.

Aber schauen wir uns die Skalierung genauer an:

DDR3 und DDR4 Ramskalierung
hit ddr3 scale.png hit ddr4 scale b.png

DDR3 zeigt starke Einflüsse auf alle Bereiche.
Gerade die wichtigen 0,1 und 1% low Werte verbessern sich in einem Bereich, der kritisch für das Spielgefühl ist.

DDR4 zeigt nur geringe Verbesserungen wenn mit 8C16T getestet. Die X% low Werte profitieren etwas im Bereich von 2133 bis 2666, darüber nehmen die Gewinne ab.

Als einzelne Punkte habe ich noch die 2+2 zen Kerne ohne SMT eingeblendet. Diese gewinnen mehr Leistung als 4+4 mit SMT aber weniger als ich bei DDR3 beobachten konnte.

DirectX 11 vs 12
Schauen wir uns erst einmal den i5 3570K an:
hit graph i5 dx11 vs 12.png

Der Frametimeverlauf sieht tendenziell gleich aus, jedoch etwas zu schlechtern Frametimes verschoben wenn Hitman mit DX11 läuft.

hit graph zen dx11 vs 12.png

Mit der Ryzen zeigen sich die Frametimes über weite Teile identisch.
An mehreren Stellen zeigt sich dann jedoch eine schlechtere Performance für DX11 und den ein oder anderen größeren Ausreißer. Es scheint also stark auf die Situation anzukommen ob sich Unterschiede zeigen oder nicht. Schlechter ist DX12 aber nie.

Die Statistik zeigt folgende Unterschiede:

hit dx11vs12.png

Der i5 profitiert also durchgängig von DX12, während der Ryzen 8 Kerner bei den avg FPS gleich liegt, in einigen speziellen Szenen mit DX12 seien Leistung hält aber mit DX11 einbricht.

Für eine Nvidia Grafikkarte würde das Bild vermutlich anders aussehen aber mit einer AMD GPU empfehle ich auf jeden Fall DX12 zu verwenden.

HBCC settings

hit HBCC.png

Abolut keine Unterschiede zu finden.

Ryzen optimieren und übertakten

hit 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?

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

Die Unterschiede sind nicht groß. Das docp Profil kommt fast an die 100MH mehr und die verbesserten Subtimings heran.
Selbst die 2133 CL15 sind nicht allzu weit abgeschlagen.

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

Edit: Auch hier wird vermutlich das FPS Cap größere Unterschiede verhindern.

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.

hit IF.png

Ganz wichtig sind hier die Fehlerbalken!
Alle Werte haben Unsicherheiten, die ihren eigenen Größen entsprichen!

Auch wenn die Werte keine zuverlässige Aussage zulassen, scheinen die Vorteile für die avg FPS vernachlässigbar gering und werden Richtung 0.1% low größer.

Hier die zugrundeliegenden Messungen:

hit 2+2vs4+0 mem.png

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 ist in diesem Fall nicht haltbar.
."

Fazit:

Hitman läuft nicht nur messbar sondern auch fühlbar besser auf CPUs mit mehr als 4 Threads.

Dann fühlt es sich jedoch sehr gut und reaktionsschnell an.

Schneller Ram ist mal mehr und mal weniger wichtig, zeigt aber immer Vorteile.

Ich bin mir nicht sicher, wie meine Ergebnisse mit einer Nvidia GPU ausgegangen wären, aber ich hätte vermutet, dass die Einbrüche bei verwendung von DX11 nicht passiert wären.

Der HBCC macht keine Unterschiede in diesem Spiel.

Die Analyse des Infinity Fabric Einflusses ist stark fehlerbehaftet und mit Vorsicht zu genießen!
Wenn dann sind die Unterschiede gering, auch wenn die bessere Leistung von 4+0 zeigt, dass der IF generell stärker bremst als der Verlust von L3 Cache.

Edit:
Das Spiel schafft es unter DX12 eigentlich sehr gut die CPU Last zu verteilen und könnte vermutlich, ohne eine FPS Limitierung, deutlich größere Vorteile aus mehr als 4 Kernen ziehen.

Da der interne Framelimiter keine harte Grenze setzt, die in anderen Spielen oft mit einzelnen Rucklern verbunden ist, sondern weiterhin ein flüssiges spielen bei weniger Stromverbrauch und Lautstäke ermöglicht bin ich nicht böse, dass er existiert.

Für meine Tests wäre es schöner gewesen ohne Cap zu testen aber so seht ihr natürlich trotzdem was wie viel bringt(bzw. nicht bringt).

Edit2: Das FPS Cap gibt es nicht mehr. Ich werde die Daten hier so stehen lassen und irgendwann eine neue Testserie starten. Dann eventuell auch mit einer anderen Testszene.

Was habt ihr für Erfahrungen im Umgang mit DX12 gemacht?
Wie läuft es auf Nvidia Karten?
 

Anhänge

  • hit ddr4 scale1.png
    hit ddr4 scale1.png
    204,8 KB · Aufrufe: 584
Zuletzt bearbeitet:
Wow, wie umfangreich. Ich liebe das Spiel und werde mir mal deine Ergebnisse bei einer Neuanschaffung zu Herzen nehmen. Thx :rolleyes:
 
Danke:)

Ich gebe mir Mühe qualitativ gute Messdaten zu erhalten, die realistische Ergebnisse zeigen.

Daher teste ich nicht mit allen Grafikreglern nach ganz rechts und 720/1080p sondern mit1440p und Grafikeinstellungen, die spielbare FPS mit möglichst guter Optik verbinden.

Wobei ich dann oft noch AA aus mache, da das wirklich nur auf die GPU geht.
 
Baal Netbeck schrieb:
Was habt ihr für Erfahrungen im Umgang mit DX12 gemacht?
Wie läuft es auf Nvidia Karten?

Das Ding hat einen 100 FPS-Framelock per Patch nachträglich bekommen, in den ich ständig reinrenne :-)
Der ist auch gerne mal schon bei 90 FPS aktiv. Mehr als 100 FPS lässt er definitv nicht zu.
Wenn ich Deine Bilder sehe, könnte ich mir vorstellen dass der Framelock eventuell Deine Ergebnisse verfälschen könnte. Deine 87 FPS auf dem Vorschau-Bildchen sind eventuell schon im Frame-Lock.

Vor dem Patch


Nach dem Patch


(Sorry, nicht das gleiche Bild, nicht die gleiche Stelle, aber mein System langweilt sich dermaßen ......)

Das hatten wir nämlich gerade in einer anderen Diskussion, in der sich der TE beschwert das sein Ultra-Highend-System nur 90 FPS stemmt, während seine "Kollegen" was von über 100FPS erzählen.

Da sah man mal wieder das die Hälfte der Kollegen Scheisse erzählt, oder mit einer gecrackten Version unterwegs waren, denn der Hinweis auf den Frame-Lock ist in den offiziellen Foren von Hitman vom Entwickler-Stab bestätigt worden. Wohl um ein paar Glitches zu eliminieren.

Zur Zeit eignet sich dieses Game nur bedingt für CPU-Benches von wirklich schnellen CPUs^^
 
Zuletzt bearbeitet:
@HisN Großes Dankeschön für den Hinweis!
Ich hatte mich schon gewundert, dass das Verhalten mit 8 Kernen nach einem anfangenden GPU limit aussah, ohne dass die GPU richtig ausgelastet war.

Das wirft natürlich ein neues Licht auf die Bewertung der Ergebnisse und erklärt auch, warum bei Ryzen die DDR4 Skalierung so schlecht ist.

Das gleiche Problem hatte ich auch schon in Prey...Da konnte man am Anfang das FPS Cap von 144Hz aufheben aber mit irgendeinem Patch hat das dann nicht mehr funktioniert und so war es aus meiner Benchmarkauswahl rausgeflogen....hier in Hitman sieht man ja immerhin noch ganz gute Unterschiede sobald die CPU nur 4 Threads hat.
 
Das FPS Cap ist inzwischen nicht mehr aktiv!
GPU und CPU werden jetzt stärker ausgelastet. Die avg FPS mit dem Ryzen sind von 87,5 auf 119,3 gestiegen und auch die 1% low sind besser geworden. von 71,5 auf 87,6.
Die GPU ist jetzt oft ziemlich nah an 99% Auslastung.


Ich werde die Daten hier so stehen lassen und irgendwann eine neue Testserie starten.
Dann könnte ich mir vorstellen auf eine Szene in Marrakesh zu wechseln. Die große Menge an NPCs hält die Vega64 zuverlässiger von 97-99% fern.
Es werden jetzt ca 35-50+% meiner 16 Threads genutzt. Eventuell zeigt sich jetzt sogar ein Unterschied durch SMT.
 
Ich habe eine Szene in Marrakesh getestet, auch wenn ich mir noch nicht sicher bin ob diese final so sein wird.

Und hier habe ich DDR4 3200 gegen 2133MHz mit dem Ryzen getestet und es ergibt sich eine deutlich Ram Abhängigkeit.
Mit 2133 fallen die avg FPS von 105,9 +- 0,13 auf 83,64+-0,08 1/s.
Die 1% low von 73,32+-0,47 auf 57,12+-0.16.
Das sind 26,6% mehr FPS für 3200MHz ram und 28,4% mehr bei den 1%low.
 
Aua, Aua.
 
Fast 30% tut echt weh.
 
Das ist wahr. Oft sind die Unterschiede(andere Spiele) in Bereichen, wo man nichts davon merkt oder es vorher schon mies lief.
Hier habe ich beim Testen durchaus den Unterschied gespürt, weil mit 2133 ab und zu dei Frametimes in kritische Bereich absacken. Es ist natürlich auch eine extreme Szene, wo man sich durch Massen an NPCs schiebt;)
 
Zurück
Oben