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

[Review] Prison Architect - 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:

Prison Architect ist eine mit viel Liebe gemachte Gefängnis Aufbau/Betreiber Simulation.
Als OpenGL Spiel mit 2D Grafik und voll CPU limitiert ist es eine nette Ergänzung zu meinen anderen Testszenen.

Leider ist das Spiel meiner Meinung nach etwas kaputt gepatcht worden, das soll aber dem CPU Test keinen Abbruch tun.

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=POyqG-hee30&list=PLP9fskJGwUOT5CByAJMJrXaggyMuUgsFt&index=15
(Die Messungen sind im Vollbildmodus entstanden, im Video äuft es im Fenstermodus, weil ich anders ReLive nicht zu einer Aufnahem überreden konnte)
Da die Leistung sehr stark mit der Kameraposition schwankt, habe ich mich für diese ganz heraus gezoomte Komplett-Ansicht entschieden.
Als Gefängnis dient mir ein selbst erstellter Spielstand.
Es gibt sicherlich deutlich größere Gefängnisse, ich nutze aber bereits viele tausend Objekte und gerade so ein Shakedown wie in meiner Testszene ist ein ziemlicher worst case.

Das Spiel würde deutlich besser laufen, wenn ich näher heran zoomen würde, und man braucht in einem solchen Spiel auch keine guten Frametimes....Es ist aber trotzdem angenehmer und mit den FPS steigt auch die maximale Spielgeschwindigkeit.

Ursprünglich wollte ich testen wie lange es dauert bis ein Shakedown vorbei ist, denn im Spiel war das für mich immer eine nervige Wartezeit.

Das war leider nicht reproduzierbar, da viel zu viele Einflüsse dies beeinflussen. Die durchschnittlichen FPS zeigen sich hier damit zum ersten Mal als beste Entsprechung für die Performance. ;)

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, des Ivy Bridge i5 mit 4,4GHz und dem C2Q 9550@2,8GHz:

prison graph c2q i5 zen.png

Es zeigt sich eine gleichbleibende Performance über die Testdauer. Die Schwankungen sind ziemlich groß und scheinen noch deutlich größer für den C2Q(prozentual sind sie aber ungefär gleich).

Man beachte die Skalierung der Y-Achse!
Eigentlich vermeide ich es diese nicht bei 0 anfangen zu lassen und wähle wenn möglichst ihr Ende bei 80ms.
Denn eine einheitliche Skalierung hilft dabei die Schwankungen optisch einordnen zu können.

Dies war hier nicht möglich. :( Schon die Frametimes des i5 zeigen einen Ausreißer bis fast 100ms, die Frametimes des C2Q sind noch viel schlechter und würde ich die Skala bei 0 anfangen lassen, würden die Schwankungen zusammengequetscht.

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.

C2Q vs. i5 vs. Ryzen

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

Wobei die vier zen Kerne mit und ohne SMT fast gleichauf liegen. Die Unterscheide sind wahrscheinlich eher Messungenauigkeiten.

Der i5 kommt hier auch mit 4,4GHz nicht ran, mit standard Takt und freigegebenem Ram noch weniger.
Die allgemeine Verteilung zeigt sich ziemlich gleich.

Ryzen CCX Konfiguration und SMT

prison ccx smt.png

Auch mit mehr CCX und SMT Kombinationen zeigt sich wieder wie alle Werte zu nah beieinander liegen um sinnvoll getrennt zu werden.

Alle avg Werte liegen in einem Berich unter 0,5 1/s zueinander!

Leistungsaufspaltung beim i5 mit Windows 10

prison perf win 10.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, außer wenn diese nur 1066er Ram nutzt.

Von 2,8 zu 4,4GHz sind es 57% mehr Takt. Dies führt zu einer Steigerung der avg FPS von 38,3% und 37,2% bei den 1% low.

Windows 7 vs. 10

prison graph i5 win7vs10.png

Wenn nicht anders erwähnt, kommt immer Windows 10 zum Einsatz.

Auch wenn die Verläufe sehr ähnlich aussehen, ergibt sich ein kleiner Vorteil für Windows 10.

prison win7vs10.png

Mit der Darstellung der Statistik werden die Unterschiede klarer.
Sie sind nur klein aber offensichtlich immer zugunsten von Windows 10.

Der Vollständigkeit halber füge ich hier nochmal alle Messungen unter Windows 7 ein:

prison perf win 7.png

Es zeigen sich keine Überraschungen, nur der C2Q kann hier etwas näher herankommen, da kein Kontrahent einen Vorteil duch Windows 10 hat.

IPC Vergleich

prison IPC.png

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

Da die alte GPU von Nvidia ist, kann es allerdings durchaus sein, dass sie im CPU limit besser läuft und sogar ein Vorteil für den C2Q ist.

DDR3 Ram Skalierung

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

Insgesamt ist der Gewinn ziemlich beeindruckend.


Der Wechsel von 1333 auf 1866 macht aus dem 40% schnelleren Ram also ca 12% mehr avg FPS aus und 11,5% mehr 1% low.

DDR4 Ram Skalierung

prison ddr4 scale.png

Auch hier sehen wir eine gleichmäßige Skalierung, die noch nicht in eine Sättigung zu laufen scheint.

von 2133 zu 3200MHz sind es 50% mehr Ramtakt und das bringt uns für die avg FPS 9% und für die 1% low 11,4%.

Trotzdem Unterschiede von 8 zu 4 Kernen? 2+2 vs 4+0?

prison graph zen 8 vs 4.png

Wie man sieht sehen die Frametimes gleich aus.

Aber was ist mit 2+2 und 4+0 als 4 Kerner Konfiguration?

prison 2+2vs4+0.png

Ich würde hier größtenteils von Unterschieden im Bereich der Messungenauigkeit sprechen...die 1%low bis 0.1% low Werte scheinen sich, bei 2133er Ram, jedoch deutlicher zu unterscheiden.

Das kann entweder ein Messfehler sein, obwohl dafür die Fehlerbalken zu gut aussehen,
Oder der doppelte L3 Cache stabilisiert die schlechteren Frametimes besser bei langsamem Ram.

HBCC settings

prison HBCC.png

Keine Unterschiede außerhalb der Messungenauigkeit zu finden.

Ryzen optimieren und übertakten

prison optimize.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?

Auch wenn das Spiel immer schlecht läuft, sind die prozentualen Unterschiede deutlich.

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

Wie man schon an dem Vergleich 2+2 vs 4+0 gesehen hat, hat 2+2 viel weniger Leistung bei den 1% low bis 0,1% low Werten verloren, wenn man auf 2133er Ram zurückgeht.

Ich hatte schon weiter oben vermutet, dass der doppelte L3 Cache dafür verantwortlich ist oder es fehlerhafte Messungen wären.

Egal was es ist, mit dem IF hat es vermutlich nichts zu tun und so bleibt die Aussage, dass dieser Test hier keine Erkenntnisse über den Einfluss der IF Geschwindigkeit liefert.

Schnellen Ram sollte man trotzdem wenn möglich verwenden, denn egal ob 4+0 oder 2+2, die Gewinne sind immer vorhanden.

Fazit:

Prison Architect läuft mit immer größeren Gefängnissen immer schlechter....bis sehr schlecht;)

Es nutzt zwar mindestens zwei CPU Kerne aber gerade wenn man heraus zoomt, sinken die FPS und damit gekoppelt die Spielgeschwindigkeit deutlich.

Es ist also nicht nur die Berechnung der Vorgänge, die die CPU belasten sondern auch stark die Drawcalls, die wegen OpenGL vermutlich wenig effizient abgearbeitet werden.

Ryzen zeigt hier einen deutlichen Leistungsschub gegenüber dem übertakteten i5 3570K.
Dieser muss sich trotz 600MHz mehr und überdurchschnittlich schnellem DRR3 geschlagen geben, was ich in anderen Spielen(die nur wenige Kerne nutzen) selten so stark beobachte.

Anders als von mir erwartet, hat sich Windows 7 in diesem Spiel nicht gut gemacht und war immer leicht schlechter als Windows 10.


Alles in allem ein Spiel das nicht viele Kerne nutz und gut von CPU Takt, CPU Cache und Ram Geschwindigkeit profitiert....dabei aber nie gut läuft;).
In dem Bereich in dem es läuft ist allerdings jede kleine Verbesserung auch spürbar...Übertakten und Optimieren haben hier durchaus ihren Sinn:)
 
Zuletzt bearbeitet:
Zurück
Oben