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

[Review] Cities Skylines - CPU Benchmarks

Baal Netbeck

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

Intro:

Cities Skylines ist gerade mit größeren Städten ein ziemlich CPU lastiges Spiel und hat es daher in meinen eigenen Testparcour für CPU Tests geschafft:).

Die Testkandidaten sind mein Ryzen 1800X in verschiedenen Konfigurationen gegen einen i5 3570K.
Beide mit meiner Vega64 LC(undervolted) gepaart.
Und als Bonus noch meinen alten Core2Quad 9550 mit einer GTX285 hineingemixt.

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=KNQRPgm3P9o&t=0s&index=6&list=PLP9fskJGwUOT5CByAJMJrXaggyMuUgsFt
Da die Leistung sehr stark mit der Kameraposition schwankt und sich bei naher Betrachtung(direkt nach dem Laden) gerne mal das Stadtbild verändert, habe ich mich für diese ganz heraus gezoomte mittige Ansicht von oben entschieden.
Als Stadt dient mir ein savegame das ich aus dem Workshop Inhalt namens Atoll gemacht habe.

Eine solche Stadt und eine solche Kameraperspektive entspricht nahezu einem Worst-case szenario ohne eine unrealistische Szene zu zeigen.

Wer die Szene selbst testen möchte findet hier das benutzte savegame:
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

city i5 zen graph.png

Wie man sieht, hat das Spiel mit großen Frametime Schwankungen zu kämpfen.
Die Durchschnitte ähneln sich stark aber der 8 Kerner kann hier deutlich bessere Frametimes liefern, auch wenn er trotzdem immer wieder unschöne Peaks aufweist.

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.

Aber erstmal werfen wir einen Blick auf einen Vergleich mit dem alten C2Q 9550:

city c2q graph.png

Er macht im Vergleich gar keine gute Figur, musste sich jedoch auch mit einer deutlich schlechteren Grafikkarte abgeben. Ich habe versucht dies auszugleichen indem ich niedrige Settings und eine niedrige Auflösung benutzt habe, aber es ist nicht auszuschließen, dass die Grafikkarte trotzdem einen Einfluss hatte.....seht es als Bonus-Ergebnis eines 10 Jahre alten Systems.....und zumindest in der Anfangsphase des Spiels mit kleinen Städtchen ist es überaschenderweise gut spielbar :)........ und wer leidensfähig ist, könnte auch eine Stadt wie in der Testsequenz bauen.

Vergleichen wir also die Systeme quantitativ:

C2Q vs. i5 vs. Ryzen
city c2qi5ryzen.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, ist der alte Core2Quad völlig abgeschlagen und der Ryzen mit 8 Kernen und SMT liegt in allen Bereichen an der Spitze.

Mit nur 4 Kernen und ohne SMT sind die Unterschiede zum i5 insgesamt nur gering aber der i5 kann sich gerade bei den wichtigen Werten im rechten Bereich etwas absetzen.

Schalten wir bei den 4 zen Kernen SMT hinzu, dreht sich das Bild um. Auch wenn der Durchschnitt leicht sinkt, liegt der Ryzen im rechen Bereich deutlich in Führung, kann aber nicht an echte 8 Kerne herankommen.

Ryzen CCX Konfiguration und SMT

city ccx SMT.png

Hier sehen wir, dass sich für Cities Skylines(zumindest mit 3200er Ram) keine Unterschiede von 4+0 zu 2+2 zeigen die über Messungenauigkeiten hinausgehen. Die 2+2 Konfiguration würde der eines 1500X ohne SMT@3,8GHz entsprechen. 4+0 kann man nur bei dem APUs kaufen.
4+0 hat den Vorteil keine Komunikation der Kerne über den IF zu haben, muss im Gegenzug aber mit dem halben L3 Cache zurechtkommen.

Wie schon vorher gezeigt verbesser SMT bei vier Kernen das Spielgefühl deutlich.

Bei 8 Kernen ändert sich dies und das abschalten von SMT erhöht die Performance durch die Bank.

Leistungsaufspaltung beim i5

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

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

Die Ram Geschwindigkeit zeigt sich also deutlich, aber nicht so deutlich wie der CPU Takt.

IPC Vergleich

cityipc.png

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

Wie man sehen kann hat sich viel getan was die Leistung pro CPU Takt angeht.
Auch wenn ein guter Teil davon mit schnellere Ram zusammenhängen kann und der C2Q mit einer alten GPU und Windows 7 zurechtkommen muss.

DDR4 Ram Skalierung

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

Bis zu den 5% low Werten ist der Gewinn ziemlich linear.

Die 1% und 0.1% low Werte zeigen eine Sättigung zu höheren Taktraten und profitieren vor allem bis 2666MHz.

Unterschiedliche Ram Skalierung bei 4 Kernen?

city ram scale 4v8 smt.png

Egal ob 4 Kerne ohne SMT, mit SMT oder 8 Kerne mit SMT, der Wechsel von 2133 auf 3200 MHz bringt deutliche wenn auch nicht extreme Leistungsgewinne.

Interssant ist, dass bei SMT ein, der Wechsel auf schnellen Ram bei 4 Kernen sogar minimal besser ist als 8 Kerne mit 2133MHz Ram.

Bei den avg FPS gewinnen 2+2 SMT off 18,2%, 2+2 SMT on 15,8%.
4+4 SMT on gewinnt 13,2%

Windows 7 vs. 10

city win.png

Wenn nicht anders erwähnt, kommt immer Windows 10 zum Einsatz.
Ich habe mit dem i5 bei 4,4GHz und bei 2,8GHz die Leistung verglichen und es zeigt sich vor allem für die Spielbarkeit ein deutlich besseres Bild bei Windows 10.

Die Unterschiede, die sich im IPC Vergleich bei 2,8GHz zum C2Q gezeigt haben, werden hier dadurch relativiert, dass der i5 unter Windows 7 ebenfalls stark abbaut.

HBCC settings

city HBCC.png

Alle Unterschiede sind nur selten außerhalb des Konfidenzintervalls und sollten daher mit Vorsicht bewertet werden!

Wenn man es trotzdem macht, sieht man für den i5 einen kleinen Vorteil bei den avg FPS, für 12GB zugewiesenem HBCC.

Beim Ryzen ist es anders und 16GB sind im Durchschnitt leicht schlechter als 8 und 12GB.
Auf der rechten Seite bei den 99th percentile und 0,1% lows wiederum liegen 8GB vor den anderen beiden.

Es ergibt alles wenig Sinn und was man wählt ist vermutlich egal ;).

Ryzen optimieren und übertakten

city optimiz.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?

Antwort A.....man verliert ziemlich viel.
Antwort B.....man gewinnt durchaus mehr als ich erwartet hätte.

100MHz mehr allcore(3,6% mehr score in Cinebench) und 9,6% mehr Leserate des Ram bringen immerhin 5,5% mehr avg FPS und 5,2% 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.
city IF.png

Ganz wichtig sind hier die Fehlerbalken!
Nur die oberen drei Werte haben eine Aussagekraft und auch diese ist nur begrenzt!

Grob kann man sagen, dass eine Beschleunigung des IF um 50%, um die 2% bessere FPS in Cities Skylines ausmacht.

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 jedoch nicht begründet.
4+0 profitiert fast genauso viel nur durch den Ram und der i5 profitiert ebenfalls
."

Fazit:

Cities Skylines ist vor allem CPU limitiert.
Es liebt mehr CPU Takt, mag mehr Ram Takt und kann mit mehr als 4 Threads etwas anfangen.
Wie man schon an der Auslastung der CPU im Video sieht, werden 20-25% der 16Threads ausgelastet. Das entspricht vier Kernen und da verwundert es wenig, wenn mit 8 Kernen SMT besser deaktiviert sein sollte und ich erwarte das gleiche für 6 Kerne.

HBCC und den Infinity Fabric kann man ignorieren, Windows 7 sollte jedoch gemieden werden.

Die vielen Frametimeschwankungen scheinen am Spiel zu liegen und können zwar verbessert aber nicht verhindert werden.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: MarcelGX, fox40phil, just_fre@kin und 9 andere
Hallo,

das ist ein sehr schöner Test, mit viel Mühe und Sorgfalt auch im Detail. Hat mir sehr gefallen, vielen Dank für's Verfassen!

Ich habe mir selber für persönliche Projekte schon Gedanken gemacht, wie ich Cities: Skylines für Benchmarks nutze und deinen Ansatz finde ich sehr gut.
 
Danke:).
Ich habe noch eine Reihe anderer Spiele getestet und hoffentlich bekomme ich morgen oder heute Nacht Rise of the Tomb Raider fertig.
 
Sehr interessant, danke!
 
Vielen Dank für die Mühe. Mit meinem alten Sandy ist das Spiel später leider immer ein Graus.

Mir fehlt da jetzt nur leider gerade der Vergleich mit anderen aktuellen CPUs (zb. der 8700k) als Kaufentscheidung. Evtl. Können dort andere User noch beisteuern.

Ich kann gerne auch mal Messergebnisse von meinem System beisteuern. Wenn da Interesse dran besteht, kannst dich ja mal per PM melden.
 
Genauso wie dein letzter Beitrag zum RAM auch hier sehr guter Lesestoff.

Zwar nicht mein Spiel, aber die Auswirkungen vom Speicher auf die Performance beim Ryzen interessiert mich doch sehr, mehr Hintergrundwissen ist immer gut.
 
Ich hätte natürlich gerne Vergleichswerte von einem aktuellen Intel System.

Ich fürchte es wären schlechte Nachrichten für den Ryzen^^.

Ich überlege, das savegame auf googledrive oder so hochzuladen. Dann können Andere ebenfalls Messungen beisteuern. Wenn mann mir fünf Frametimeverläufe von Fraps liefert, kann ich das auch auswerten.

Oder ich stelle auch mein C++Programm online aber ich kann gut verstehen, wenn niemand eine .exe Datei von einem Fremden aus dem Internet anrühren möchte;).
 
Hallo Baal,

die vorgestellte Stadt ist mit 190k leider zu klein und hat zu wenig Verkehr, um damit wirklich den PC zu belasten. Ich habe beim Umzug auf Win 10 leider meine alte Saves verloren, aber habe mir zwei Städte mit 400k und 600k Stadt neu erspielt.

Die CPU Belastung schwankt bei der 400k Stadt zwischen 25 bis 40% (Geschwindigkeit Stufe 1), meine GTX 970 lauft auf 85 bis 100% bei 2560*1440*60Hz. Die Fps sind bei 40 bis 45. Scrollen funktioniert butterweich, aber das Spiel ist langsamer, als zB mit einer 100k Stadt.

Mein System ist ein 8700(ohne k), Asus ROG F, 16 GB Ram (3200), MSI GTX 970, 500Gb 960 Evo.

Regle ich das Budget für den öffentlichen Verkehr zurück, werden die Straßen rot und die CPU Belastung steigt (logisch).

Nachtrag
Achja: Alle Nebel sind mit dem Mod "no Fog" oder so ähnlich ausgeschaltet, ein zweiter Mod ist "all Areas purchable"- sonst ist kein Mod aktiv. Die 400k leben auf 5*2 Kacheln.
 
Zuletzt bearbeitet:
@surfinghorse
Wenn du ein gutes Savegame mit einer hohen CPU Auslastung zur Verfügung stellen kannst wäre ich interessiert.

Funktioniert das Savegame auch ohne Mods? Denn ich hatte erst ein paar aktiv und diese haben die Performance massiv beeinflusst.

Für meinen Test wollte ich es lieber Vanilla lassen....ein sondertest mit Mods wäre allerdings zusätzlich möglich.

Hast du Mal ausprobiert, wie es bei dir in meiner Testszene läuft? Ich habe ja das Savegame verlinkt.

Einstellungen und Kamera Ausrichtung sind im Video.

Der i7 sollte ja deutlich besser laufen...vor allem mit Nvidia Grafikkarte.
 
Zuletzt bearbeitet:
"File upload net" ist nicht vertrauenswürdig bei CB- kann das somit nicht hier reinstellen.
Habe dir aber eine private Nachricht geschickt.
 
Zuletzt bearbeitet:
Du kannst die Bilder auch direkt in das Forum hochladen, das ist dann "vertrauenswürdig".
 
Dann lade es doch bei Google drive hoch oder so....File upload möchte mir erst eine .exe unterjubeln und dann ein .jpg.iso....Da lade ich nix runter!

Danke:)
 
Baal Netbeck schrieb:
Dann lade es doch bei Google drive hoch oder so....File upload möchte mir erst eine .exe unterjubeln und dann ein .jpg.iso....Da lade ich nix runter!

Danke:)

Sorry, wegen der exe- wusste ich gar nicht- dann hatte cb doch recht :)
Habe mir jetzt extra ein google drive erstellt- hoffe, das funktioniert

Url wurde durch eine neue weiter unten ersetzt!
 

Anhänge

  • 20180415143718_1.jpg
    20180415143718_1.jpg
    359,2 KB · Aufrufe: 871
  • 20180415133646_1.jpg
    20180415133646_1.jpg
    1,5 MB · Aufrufe: 922
Zuletzt bearbeitet:
Dank! Ich habe es mir heruntergelden und konnte es starten:).

Ich würde wieder eine ähnliche Methode(platt von oben) wählen um es zu testen, weil ich anders Probleme habe eine Kameraposition zu reproduzieren.

Ich mache mal ein Video....
Ergänzung ()

Das Video brauchte etwas mit dem hochladen(langsame Leitung).

Es sieht nicht wirklich anders aus mit dem savegame von surfinghorse.

Um die 45 FPS und ähnliche CPU Auslastung, die größtenteils durch Überlastung von core 2 bestimmt wird.

Die 99.9th percentile und 0.1% low Werte schwanken in dem neuen savegame stärker. Ich habe wie vorher auch 5 Messungen gemacht und ausgewertet, aber die Schwankungen sind recht stark und erscheinen deutlich niedriger.
Ich habe aber auch Einzelmessungen, die die gleichen 0.1% low Werte zeigen wie in meinem eigenen savegame.
Daher denke ich, dass die Szene mit weniger Variation die gleichen Werte(oder sehr ähnliche) zeigen würde.

Ich denke der Grund liegt in einer Begrenzung durch die singlecore Leistung. Selbst wenn die Szene mehr Rechenaufwand für die CPU bedeuten würde, wird das Spiel bei mir durch den Renderthread eingebremst und der Rest läuft problemlos nebenbei.

Ich nehme an, dass es auf 4 Kernen ohne SMT größere Unterschiede geben könnte aber das umzustellen ist mir auf die Schnelle zu viel Arbeit;).

Hier das Video:
https://www.youtube.com/watch?v=U2MBO4GrwXk&feature=youtu.be

Und hier die Auswertung:
City Skylines Szenen vergleich.png
 
Zuletzt bearbeitet:
https://drive.google.com/open?id=1nhH8eb5BO-0yYsXzqhNUut745NUW_bDD

Habe zu meinen Entsetzen gesehen, das ich das falsche File frei gegeben habe! jetzt das "schöne" Save.
Die Nummerierung ist immer bei mir immer die Jahreszahl.

Da nur 40% der möglichen Kacheln verbraucht wurden, lässt sich das Save leicht auf 500 oder 600k raufspielen.
Ausserdem ist jetzt die Auflösung, die verwendeten Mods (zwei Stück) und die Belastungen der einzeln Kerne des 8700 zu sehen; auch auf meiner 600k Stadt Winkelcity!

Warum nicht alle Kerne der CPU Richtung 100% gehen, weis ich nicht. Eventuell kann das Spiel mit 12 Prozis nichts anfangen? Da die GTX 970 fast immer im Limit hängt, wird zu Weihnachten die 1170 gekauft.
 

Anhänge

  • Auslastung.GIF
    Auslastung.GIF
    14,1 KB · Aufrufe: 712
Zuletzt bearbeitet: (CPU Auslastung angefügt)
Ich kann mal gucken ob ich heute abend Zeit habe es zu testen. Momentaufnahmen von CPU Auslastungen sind immer etwas ungenau.

Mal sehen was die Performance sagt.
 
Ein neuer Test wird meiner Meinung nach keine Änderungen bringen.
Das neue save ist einfach eine nette Basis um SC weiterzuspielen.
 
Zurück
Oben