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

The Witcher [Review] The Witcher 3 - CPU Benchmarks

Baal Netbeck

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

Intro:

The Witcher 3 ist eines der großen Rollenspiele der letzten Jahre.
Die Grafik ist überwiegend sehr schön und die Welt riesig und abwechslungsreich.

Die technische Umsetzung ist relativ interessant. Das Spiel braucht viel Grafik Power und ist daher fast immer GPU limitiert.
Wenn viele NPCs in der Nähe sind steigt die Belastung für die CPU deutlich an. Ein einfacher Quadcore kommt hier an seine Grenzen

Dieses Spiel war es auch, dass mich in Richtung von Spielebenchmarks geschubst hat....weil es erst sauber lief und dann irgendwann furchbar ruckelte...Ich scheinbar nicht der einzige war aber niemand eine allgemeingültige Lösung gefunden hat.

Auch jetzt bin ich noch nicht richtig dahinter gekommen wie man dem Problem entgegen tritt.....vor allem weil es vermutlich mehrere Probleme sind. ;)

Dieser Test ist daher der vielschichtigste, weil ich besonders viele Punkte untersuchen wollte um ein vollständigeres Bild zu erhalten.


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, meine Testszene gegenüber der von CB, Framelimiter und eine Betrachtung der Infinity Fabric Skalierung.

Fangen wir mit meiner Testszene an.

https://www.youtube.com/watch?v=Z6IqAUiVxfo&index=13&list=PLP9fskJGwUOT5CByAJMJrXaggyMuUgsFt

Meine Testszene zeigt Novigrad bei Nacht.
Viele NPCs stehen und laufen herum.
Es gibt Feuer, nahes Wasser, schnelle Kamerabewegungen, Gegner in der Nähe und ich bin zufrieden mit der Reproduzierbarkeit.


Wer die Szene selbst testen möchte findet hier das benutzte savegame sowie eine Anleitung(auf Englisch):
https://drive.google.com/drive/folders/1Hahuj2q234W1LTFi5WLAZOo_uR4tF-qu?usp=sharing

Alle wichtigen Optionen sind dem Video zu entnehmen.

Frametimegraphen:
Hier der Vergleich meines Ryzen 1800X@3,8GHz und des Ivy Bridge i5 mit 4,4GHz
w3 graph zen i5.png

Es gibt Bereiche, wie z.B. am Anfang und gegen Ende, wo der Ryzen und der i5 die gleiche Leistung liefern. Hier sind beide im GPU limit.
Die meisten Bereiche laufen schlechter auf dem i5. Er zeigt höhere Frametimes, mehr Mikroschwankungen sowie öfter auftretende und höhere Peaks....kein Wunder denn er ist immer wieder zu 100% auf allen Kernen ausgelastet.

Doch auch der Ryzen hat immer wieder Peaks, die zwar selten über 16.66ms(unter 60 FPS Grenze) gehen, teilweise aber trotzdem leicht spürbar sind.
Über die drei besten Messungen, aus fünf gemachten, geschah dies im Schnitt 1,4 +- 0,5 mal pro Messung.

Für den i5 waren es 35,1 +- 3,3 mal pro Messung.

Beides zeigt jedoch einen optimalen Fall, bei dem Spiel/Grafiktreiber/Windows was auch immer den Testbereich bereits "gelernt" haben.

Installiert man das Spiel neu, verschiebt es an einen anderen Ort, macht ein Grafikkartentreiber update, ändert im Vega Treiber die HBCC Größe....manchmal reichen auch Windows updates oder Änderungen im Bios...oder auch kein erkennbaren Grund....

.....dann hat man fiese Nachladeruckler, bis die Szene wieder "angelernt" wurde.

Dafür scheint man bis zu 20min durch Novigrad laufen und reiten zu müssen und immer wieder den Testbereich durchlaufen zu müssen, bis man nur noch eine geringe Wahrscheinlichkeit auf diese Nachladeruckler hat.
Wenn man den PC neu gestartet hat und wieder ins Spiel geht, kann es zwar in der Anfangsphase noch vereinzelt ruckeln aber der Lernprozess scheint gut zu wirken und man kann zuverlässig messen...zumindest wenn man eine Methode wie meine verwendet.

Wenn nicht, dann sieht das Ergebnis teilweise so aus:

w3 graph first run.png

Ich hatte nebenbei den Ressourcenmonitor offen und scheinbar greift das Spiel bei diesen Rucklern auf verschiedene Dateien zu, die von ein paar MB über mehrere hundert MB bis zu mehreren GB(z.B. texture.cache 3,5GB) groß sind.

Das Spiel ruckelt dann nicht nur, es pausiert praktisch kurz und es stört gewaltig.

Ich habe das Spiel auf zwei schnellen Sata SSDs und auch auf meiner Nvme 960Pro installiert und nichtmal die 960 pro konnte das Problem verhindern...Die Ruckler sind nicht wirklich reproduzierbar, aber ich würde gefühlt noch nicht einmal sagen, dass es mit der 960 besser geworden wäre.

Und das alles auf einem 8 Kerner mit viel mehr Leistung als für das Spiel nötig sein sollte, 32GB 3200MHz CL14 er Ram, der 50000MB/s read schafft(Aida64)...und einer Vega64 LC mit übertakteten 8GB HBM2.
Einem aktuellen Windows 10, das für die Tests sauber installiert und nur mit dem nötigsten ausgerüstet wurde.
HPET war aus und für die Tests war nur Fraps offen(ohne Fraps kommen die Nachladeruckler ebenfalls).
Die Auflösung ist 1440p@144Hz(freesync aus).

Es scheint auch kein AMD Problem zu sein, denn ich hatte solche Probleme schon mit meinem i5 3570K und mit meiner Nvidia GTX 680 bei 1080p @60Hz.... damals liefen Kleinigkeiten anders und die Grafikeinstellungen und Auflösung war anders...deshalb verstecke ich die Beispiele mal in einem Spoiler:
Hier ein Beispiel, wo ich von meinem i5 mit GTX 680 unter Windows 7 auf Ryzen 1800X mit der gleichen GTX 680 unter Windows 10 gewechselt bin:
i5zenvergleich.png
Mit dem i5 war The Witcher 3 praktisch unspielbar gewesen...und ich war Happy wie der Ryzen so unglaublich viel besser lief.

Hier ein Beispiel, wo ich den i5 + GTX 680 mit Windows 10 probiert habe und plötzlich war es ebenfalls viel besser:
W3 win 7 10 stock unlim.png
Dann hatte ich geschlussfolgert, dass es die Schuld von Windows 7 gewesen sein muss.
Ich hatte extra eine frische Windows 7 installation genutzt(das Spiel aber nicht angelernt) und sah wieder die gleichen Probleme.....Problem gefunden dachte ich damals. ;)

Was ich inzwischen widerlegen konnte....wäre auch komisch gewesen, wenn niemand unter Windows 7 eine größere NPC Ansammlung hätte besuchen können.

Ich greife das Thema "Win 7 vs. Win 10" etwas vor und zeige schonmal diesen Vergleich mit dem i5 und Vega64:
w3 graph i5 oc win.png
wie man sieht ist Windows 7 etwas schlechter aber nicht generell für die Nachladeruckler verantwortlich.
Eventuell war der vorherige Nvidia Treiber unter Windows 7 nicht "lernfähig" oder sowas...ich weiß es nicht. :freak:

Weitere Beispiele wären z.B. von CB selbst.
CB FX-8370.PNG
Quelle:( https://www.computerbase.de/2017-03...cher-3-frametimes-ryzen-7-1800x-gegen-fx-8370 )
CB nutzt eine sehr anspruchslose Testszene und umso verwunderlicher ist es, hier überhaupt solche Probleme zu sehen....dazu weiter unten mehr.

oder in diesem Video von Digital Foundry:
https://youtu.be/4RMbYe4X2LI?t=4m6s
Bei 4:09 hat der i5 7600 einen heftigen Frametimepeak(bei Digital Foundry von oben nach unten), zwei Sekunden später folgen die beiden Ryzen.
Oder an dieser Stelle, wenn Gerald in die Stadt reitet:
https://youtu.be/Rutk9ErhKG4?t=3m41s

Diverse Foren sind ebenfalls voll mit Leuten die über starke Ruckler klagen und mal hilft ihnen nichts und mal berichten sie von Wunderheilung aber immer mit unterschiedlichen Lösungen;):

Wie ich oben schon angemerkt habe gibt es auch weitere Probleme, in die man laufen kann.

Das soll es dazu erstmal gewesen sein, konzentrieren wir uns wieder auf die eigentliche Performance des Spiels....
Die gezeigten Frametimeverläufe waren jeweils die zweit besten was die 0.1% low Werte angeht.

Um diesem Auf und Ab der Frametimes eine quantitative Entsprechung zu geben benutze ich eine Reihe statistischer Werte die ich aus der Auswertung von jeweils fünf Messungen gewinne.
Wenn sich trotz "Anlernphase" in bis zu zwei Messungen einzelne Nachladeruckler ergeben sollten, gehen diese nicht in die Ergebnisse ein, weil automatisch die zwei schlechtesten Werte verworfen werden.


Vergleichen wir also die Systeme quantitativ:

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

Ich habe direkt eine Reihe Vergleichswerte dargestellt.
Wenig überraschend ist der Ryzen mit vollen 8 Kernen und SMT die schnellste CPU und der i5 mit stock Taktraten die langsamste.

Übertaktet kämpft der i5 mit vier Zen Kernen ohne SMT.
Beim Durchschnitt verliert er, bei den 0.1% low gewinnt er jedoch deutlich.

Geben wir den vier Zen Kernen SMT, reicht das bereits um ihn sehr nah an die Ergebnisse der 8 Kerne zu bringen.
Das sieht man auch schön im Framtetimeverlauf.
w3 graph 8 vs 4 smt.png
Die Verläufe und auch die Frametimepeaks unterscheiden sich nur wenig. Die 4 Kerne mit SMT zeigen leicht größere Schwankungen und die Peaks sind in der Regel minimal größer.

Mit Basis Taktraten und freigegebenem Ram, ist der i5 3570K dann deutlich abgeschlagen und fällt öfter unter die 60 FPS(0.1% low)

Noch schlechtere 0.1% low Werte zeigt nur die 2+2 Konfiguration ohne SMT....wobei die Fehlerbalken zeigen, dass die Unterschiede nicht reproduzierbar genug sind um einen zuverlässigen Unterschied zu erkennen. Eine mögliche Erklärung versuche ich weiter unten zu geben..

Ryzen CCX Konfiguration und SMT

w3 ccx clock smt.png

Einige der Ergebnisse kennen wir ja schon aus dem vorherigen Absatz....
So z.B. wie SMT bei 4 Kernen große Verbesserungen bringt. aber nicht ganz an 8 Kerne ran kommt.

Neue Informationen wären:
Mit 8 Kernen und 3,8GHz ist es hingegen egal ob SMT an oder aus ist.

Bei 3200MHz Ram und ohne SMT, liegen die Unterschiede von 2+2 zu 4+0 im Bereich der Messungenauigkeit.
Man könnte einen leichten Vorteil für 4+0 hineininterpretieren.
Die Nachteile durch die Infinity Fabric Komunikation werden also fast vollständig durch den schnellen Ram und den doppelten L3 Cache aufgefangen.
Gegenüber den 8 Kernen liegen beide weit zurück, wie dieses Beispiel an Frametimeverläufen zeigt:
w3 graph 8 vs 4.png

Die 4+0 Konfiguration mit nur 2,8GHz muss sich deutlich geschlagen geben und fällt auf 30 FPS.

Das eine GHz mehr Takt von 2,8 auf 3,8GHz entspricht 36% mehr Takt und bringt 17,2% mehr avg FPS und 30.3% mehr 1% low....Im Durchschnitt fallen die Unterschiede weniger stark auf, weil Teile des Tests weiterhin GPU limitiert laufen.
Erst bei den 1% low Werten sieht man die wahren Vorteile der Taktsteigerung, die hier sehr gut skaliert.


Leistungsaufspaltung beim i5

w3 clockram.png

Es zeigt sich eine starke Abhängigkeit von der Geschwindigkeit des DDR3 Speichers.

So zeigt sich kein Unterschied zwischen einem Stock i5 3570K mit 1600MHz Ram zu einer Übertaktung auf 4,4GHZ mit nur 133MHZ Ram.
Die 133MHz weniger Ram Takt gleichen die 800MHz mehr CPU Takt(i5 3570K hat einen allcore Takt von 3,6GHz) aus!

Gehen wir weitere 133MHz weiter runter auf 1066MHz, verlieren die 4,4GHz sogar gegen die 2,8GHz!

Der Wechsel von 1333 auf 1866 macht also aus dem 40% schnelleren Ram 22,9% mehr avg FPS aus und 24,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 34,5% und 44,5% bei den 1% low.

Ein starker Gewinn durch schnelleren Ram und ebenfalls ein guter Gewinn bei den 1% low durch mehr Takt.

IPC Vergleich
w3 ipc.png

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

Wie schon vorher gesehen haben die vier Zen Kerne ohne SMT Probleme bei den 0.1% low Werten...sie zeigen also mehr/höhere Frametimepeaks.

Doch auch im klassischen Durchschnitt sind die Ergebnisse nicht so gut wie in anderen Spielen.
Mit 2133MHz liegen Zen und ivy Bridge gleichauf. Erst der schnelle Ram bringt einen deutlichen Unterschied.


Die Zen Kerne aus der 1000er Serie zeigt also erst dann eine deutlich bessere IPC, wenn schneller Ram verwendet wird.
Und hat mehr Probleme mit Frametimepeaks.

DDR3 Ram Skalierung

w3 ddr3 scale.png

Wie schon vorher gesehen, reagiert The Witcher 3 mit dem i5 3570K gut auf schnellen Ram.

Der Wechsel von 1066 auf 1866 MHz macht aus dem 75% schnelleren Ram ganze 43,6% mehr avg FPS und 44,1% mehr 1% low.
Die 0.1% low steigen um 43,6%.

Der Verlauf lässt erahnen, dass die Skalierung noch gut zu höheren Taktraten weiter geht.

Mit langsamem Ram ist The Witcher 3 damit deutlich schlechter zu spielen....zumindest in einer solchen Szene mit vielen NPCs.

DDR4 Ram Skalierung

w3 ddr4 scale b.png

Da wir mit 8 Kernen praktisch die ganze Zeit im GPU limit laufen, zeigen sich durch schnelleren Ram kaum Unterschiede. Selbst die 0.1% low Werte verbessern sich nur leicht.
Das Ram OC verhindert also keine Frametimepeaks...es schwächt sie nur minimal ab.

Zusätzlich zu den Werten mit 8 Kernen habe ich noch vier Datenpunkte für 4 Kerne beigefügt.
In Gold die Werte für die avg FPS und in Türkis die Werte für die 1% low bei 4 Zen Kernen ohne SMT.

Der Wechsel von 2133 auf 3200 MHz macht aus dem 50% schnelleren Ram mit 8 CPU Kernen nur 1,2% mehr avg FPS und 3,6% mehr 1% low.
Die 0.1% low steigen um magere 5%.

Bei 4 CPU Kernen(2+2) sind die Steigerungen besser.
Die avg FPS steigen um 17,9%, die 1% low um 17,8% und die 0.1% low um 11,3%.

HBCC settings
w3 hbcc.png

Alle Werte liegen innerhalb der Messungenauigkeit....Das Spiel reagiert gar nicht auf die Veränderung des zugewiesenen Speichers.

Ryzen optimieren und übertakten
w3 optimiz.png

Obwohl meine Optimierung immerhin 100MHz mehr allcore Takt liefert und auch der Ram durch die Subtimings 9,6% mehr Leserate hat, lassen sich kaum Unterschiede zu Stock Taktraten mit docp Profil messen.

Das liegt sicherlich an dem mit 8 Kernen fast durchgängig vorhandenen GPU limit. Erst im rechten Bereich zeigen sich minimale Vorteile durch die Optimierungen.

Wenn man bedenkt, dass man sich am GPU limit bewegt, fallen die Unterschiede der Bios default Einstellungen stärker aus als ich gedacht hätte.

Es sind immer noch keine deutlichen Unterschiede aber sie sind zuverlässig messbar.

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.
W3 IF.png

Ganz wichtig sind hier die Fehlerbalken!

Die geringen Unterschiede von 2+2 zu 4+0 Konfiguration sorgen für relativ große Fehlerbalken im Vergleich zu den errechneten Daten.

Es folgen daraus also keine sonderlich vertrauenserweckenden Ergebnisse. ;)

Das Verhalten gleicht aber dem was ich schon in einigen anderen Spielen feststellen konnte.
Im oberen Bereich bei den durchschnittlichen FPS bewirkt der schnellerer IF eine Steigerung der FPS.
Im unteren Bereich kehrt sich das Bild um.

Meine Theorie ist, dass zwar weiterhin der schnellere IF den 2+2 hilft schneller Drawcalls usw. zu bearbeiten, es jedoch einen viel größeren Effekt gibt, der dies verdeckt.

Der untere Bereich zeigt mehr von Frametimeschwankungen und Frametimepeaks.
Und bei 4+0 müssen sich 4 Kerne 8MB L3 Cache teilen, während bei 2+2 jeweils zwei Kerne sich 8MB teilen.
Die doppelte Menge an L3 Cache federt viel besser den langsamen Ram ab und das führt dazu, dass 2+2 weniger unter der gesunkenen Ram Geschwindigkeit leidet.

Die Folge sind größere Gewinne durch schnellen Ram bei 4+0 bzw. weniger Verluste durch langsamen Ram bei 2+2.

Irgendjemand müsste mal einen Ryzen 3 1200 mit der gleichen Methode gegen die 4+0 messen. Denn der 1200 hat eine 2+2 Konfiguration aber nur 4MB für zwei je zwei Kerne aktiv.
Es macht sicherlich noch Unterschiede, ob sich vier 8MB teilen oder zwei 4MB....aber es wäre deutlich besser zu vergleichen.....selbst kaufen fand ich für so ein Experiment etwas zu teuer....Mindfactory will 79€ haben und Ebay mindestgebot 50€ oder 75€ Sofortkauf....muss nicht sein;).

Windows 10 vs. 7

w3 win.png

Wie man sieht hat Window 7 keinen guten Stand gegenüber Windows 10.
Auch wenn die avg FPS teilweise minimal besser sind, läuft The Witcher 3 unter Windows 7 tendenziell schlechter und gerade bei den 0.1% low Werten fällt es deutlich ab.

Wie man den Frametimeverläufen entnehmen kann, sind die Frametimeschwankungen minimal stärker und es gibt mehr Frametimepeaks.

w3 graph i5 oc win.png w3 graph i5 stock win.png

Schauen wir uns die Skalierung mit CPU Takt und Ramtakt unter Windows 7 an:

w3 clockram win7.png

Es scheint keine qualitativen Unterschiede zum Verhalten bei Windows 10 zu geben.
CPU Takt bleibt wichtig und Ram Takt ist sehr wichtig.

Windows 7 scheint dabei die gleichen Probleme für den i5 zu machen wie wir sie vorher bei 4 Zen Kernen ohne SMT gesehen haben.

Es kommt vermehrt zu Frametimepeaks, die die 0.1% low Werte verschlechtern.
Die Peaks sind allerdings nicht so schlimm wie die Nachladeruckler, über die ich am Anfang geredet habe.
Im nächsten Absatz suche ich nach eine Lösung.

Frametimelimiter

The Witcher 3 bringt von Haus aus die Möglichkeit mit, die FPS auf 60 oder 30 zu limitieren.

Warum sollte man sowas überhaupt machen wollen?

Ein legitimer Grund kann sein, dass man Strom sparen und seinen PC leiser laufen lassen möchte.
Wer eigentlich 70+ FPS erreichen würde, aber der Meinung ist, dass ihm auch 60 oder gar 30 reichen kann so die Arbeit für den PC deutlich senken.

Die Arbeit für den PC senken kann jedoch auch weitere Vorteile haben.

Wenn die FPS hoch sind, müssen öfter die Drawcalls von der CPU abgearbeitet werden und die CPU Belastung steigt.
Gerade bei nur vier Kernen und in solch CPU intensiven Testszenen entlastet dies die CPU(vor allem den RenderThread bei AMD+ DX11).

Eine starke Grafikkarte oder niedrige Einstellungen sorgen zwar für mehr avg FPS und auf den ersten Blick eine bessere Performance, aber es kann dazu kommen, dass einzelne CPU Kerne oder gar die ganze CPU durch die zusätzliche Arbeit überlastet werden und dann wichtige Berechnungen nicht rechtzeitig fertigstellen können.

Es kommt zu mehr Rucklern als mit weniger FPS!

Das zeigt sich auch teilweise in anderen Spielen. Hier ein Video wo darüber im Falle von GTA V berichtet wird:

Man könnte die Grafikeinstellungen erhöhen und damit die FPS drücken, jedoch fällt es schwerer eine Balance zu finden.
Nicht nur die Anforderungen an die CPU ändern sich je nach Spielsituation, auch die Anforderungen an die Grafikkarte schwanken.
Läuft es in einer Szene mit 60 FPS im GPU limit, kann eine andere Szene (auch im GPU limit) nur noch 45 FPS erreichen und dann fühlt es sich unsauber an wegen der Grafikkarte.

Ein limitieren der FPS bei Grafikeinstellungen für höhere FPS entspannt die Situation und sollte überall eine konstante Leistung bieten.

Ich habe meine Untersuchungen mit limitierten FPS auf dem i5 3570K und unter Windows 7 gemacht, weil sich hier zuverlässig einzelne Ruckler, auch in die guten Frametimemessungen verirrt haben.

Ich hätte vermutlich auch den Ryzen mit vier Kernen und ohne SMT nehmen können. Das Verhalten scheint das gleiche zu sein.

Fangen wir mit der Übertaktung auf 4,4GHz und 1866er DDR3 Ram an:

w3 graph i5 oc fps.png

Wie man sieht zwingt der 60 FPS limiter wie erwartet die Frametimes um eine Linie bei 16,66 ms.
Es ist leider kein perfekter Verlauf aber man sieht, wie der Bereich der Schwankungen schmaler wird.

Und auch wenn es immer noch einige Peaks gibt, die mit ihren um die 25 ms je nach Empfindlichkeit des Spielers sichtbar sind, so bleiben doch die einzelnen großen Peaks wie sie die unlimitierte Messung zeigt aus.

Ein ähnliches Bild zeigt sich bei stock Taktraten und 1600er Ram:

w3 graph i5 stock fps.png

Die Frametimes der unlimiterten Messung wandern näher an die 16,66 ms heran und wo sie sich überschneiden, werden die Frametimeschwankungen der auf 60 FPS begrenzten Messung wieder größer.

Trotzdem verhindert die Limitierung relativ gut die großen Frametimepeaks.

Die gezeigten Frametimegraphen waren jeweils die zweitbeste aus Messungen was die 0.1% low Werte angeht.

Um nicht zu viel in Einzelmessungen zu interpretieren, vergleiche ich jetzt wieder die gemittelten Statistikwerte aus den besten drei.

W3 fps 44.png

Logischerweise zeigt die Limitierung auf 60 FPS große generelle Einbußen.

Was uns jedoch interessiert sind die 0.1% low und hierliegen beide gleichauf.
Das ist etwas entäuschend, waren doch die Frametimegraphen der Einzelmessungen sehr vielversprechend.

Wären die Fehlerbalken nicht so groß, würde es jedoch nach eine kleinen Sieg für den Frametimelimiter aussehen.


Gucken wir uns also die Stock Taktraten an:

W3 fps stock.png

Das sieht in der Tat gut aus.
Weil die avg FPS ohne limiterung nicht ganz so hoch ausfallen, sind die generellen Verluste geringer und der Sieg bei den 0.1% low Werten zeigt, dass die FPS Limitierung hier die gewünschte Wirkung zeigt.


Senken wir den CPU Takt auf 2,8GHz, nutzen aber schnellen Ram:

W3 fps 28 18.png

Auch unlimitiert schafft der i5 jetzt nur knapp über 70 avg FPS.
Der Einfluss der Limitierung schwindet also und auch wenn es so aussieht, als würde es bei den 0.1% low weiterhin einen kleinen Vorteil für den limiter geben reicht die Reproduzierbarkeit nicht aus um dies zu bestätigen.


Senken wir auch noch den Ram Takt:

W3 fps 28 10.png

Jetzt sinken die FPS unter das 60 FPS limit und das Vorhaben wird nutzlos.

Mit Limitierung liegt alles minimal niedriger, was vermutlich auf einzelne gute Frametimes zurückzuführen ist, die eingentlich den Schnitt leicht heben und jetzt eingebremst werden.


Es gibt ja auch noch die 30 FPS Einstellung also gucken wir uns diese an:

W3 fps 30.png

Hier vergleiche ich nur meine schnellste und die langsamste Version der ivy Bridge i5.

Denn schlechter als unlimitiert oder mit 60 FPS Begrenzung läuft es sowieso.

Die Frage war hier eher ob man überhaupt Unterschiede findet obwohl die Grenze so niedrig liegt.

Wie man sieht gibt es diese durchaus.
Mit schnellerer CPU und mit mehr Ramtakt ist es also weiterhin besser möglich die Frametimes stabil zu halten.

-------------------------
Es lohnt sich also durchaus darüber nachzudenken solche Limiter zu nutzen.

In diesen Tests zu The Witcher 3 waren die Vorteile allerdings auf einen speziellen Bereich beschränkt. Die CPU durfte nicht zu langsam sein aber auch nicht zu schnell, damit es sich gelohnt hat.

Es wäre eventuell praktisch weitere Abstufungen zu testen. Ein Limit auf 75 FPS für schnelle CPUs oder 45-50FPS für langsame CPUs wäre meiner Meinung nach ideal....am besten einfach individuell wählbar.

Es gibt ja auch externe Limiter aber diese kommen oft mit anderen Problemen daher.

Vergleich von zwei Testszenen.
Computerbase hat inzwischen The Witcher 3 aus ihrem CPU Testparcour entfernt.
2017 war es aber noch Bestandteil und wurde als Beispiel aufgeführt, für ein völlig GPU limitiertes Spiel.

Im Test zum i3 7350K anfang 2017 gewinnt dieser mit leichtem Vorsprung den The Witcher 3 Test bei 1080p mit einer übertakteten GeForce GTX 980 Ti.
Eine zwei Kern/4Thread CPU mit 4,2GHz stock Takt gewinnt gegen i7 7700K und alles andere.
Eine Übertaktung auf 5,1GHz bringt nur 0,2% mehr Leistung und ein i5 2500K(allcore Boost 3,4GHz), der sogar ein paar Prozent langsamer sein sollte als mein i5 3570K liegt nur 5 % zurück.
Quelle: https://www.computerbase.de/2017-01/intel-core-i3-7350k-test-overclocking/5/#diagramm-the-witcher-3-high-end-gpus-im-vergleich

Der ganze Test schreit danach das es sich hier um ein Spiel handelt, dass so gut wie gar keine Ansprüche an die CPU stellt und keine Vorteile aus mehr CPU Kernen zieht.....das schreibt CB zumindest im Zusammenhang mit mittelklasse CPUs:
"In The Witcher 3 liegen alle CPUs sehr dicht beisammen, die Wahl der CPU ist praktisch irrelevant."

Das passt nicht mit meinen Ergebnissen zusammen und daher ist es interessant die genutzten Testsequenzen einmal genauer anzuschauen:

Hier kann man sich die Testszene von CB angucken:
https://www.computerbase.de/2015-10...tem-amd-intel-2015/3/#abschnitt_the_witcher_3

Und so habe ich versucht die Testszene nachzustellen:
https://www.youtube.com/watch?v=RRzarVOZGqg&index=12&list=PLP9fskJGwUOT5CByAJMJrXaggyMuUgsFt
Es ist sicherlich nicht perfekt, ich laufe am "Strand" etwas zu mittig und gehe weniger gradlinig aber das sollte nur minimale Unterschiede machen.
Auch nutze ich nicht die höchsten Grafikeinstellungen und eine stärkere GPU. Es sollten sich also eher mehr Unterschiede zeigen als bei CB, die nur um die 70 FPS erreicht haben, wo meine Systeme um die 100 FPS schaffen.


Schauen wir uns also meine Ergebnisse in dieser Testszene an.

w3 cb szene.png

Die i5 füttern die Vega64 scheinbar minimal schneller mit Daten, so dass selbst die 2,8GHz gegen den Ryzen gewinnt.
Hier wäre ein 2700X interessant um zu sehen ob die verbesserten Latenzen von Zen+ dies ausgleichen.
Der ganze rechte Bereich zeigt hingegen keine Unterschiede mehr zwischen dem Ryzen und dem übertakteten i5.
Mit nur 2,8GHz muss der i5 hier etwas federn lassen, hält aber immer noch die 60FPS.

Auch mit meinem Aufbau sehe ich also in dieser nachgestellten CB Testszene die gleichen Ergebisse wie CB.
Solange die CPU nicht total langsam ist, scheint sie ziemlich egal.

Schauen wir uns die Ergebnisse im Vergleich zu meiner Testszene aus Novigrad an.
Erstmal nur für den i5:
W3 szenes i5.png

Die beiden oberen Daten(hellere Farben) haben wir schon im vorherigen Diagramm sehen können.
Neu sind die etwas dunkleren Farben, die meiner Testszene entspringen.

Wo bei der CB Szene die 1,6GHz weniger Takt trotzdem die gleichen avg FPS schaffen und nur etwas mehr Frametimeschwankungen haben, fallen die Unterschiede in meiner Szene deutlich aus.
Die generelle Performance ist geringer und der Unterschied zu 2,8GHz sind gewaltig.


....Weiter im nächten Beitrag....
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: CMDCake
......

Wenn wir uns den Vergleich mit der Ryzen CPU angucken....
W3 szenes zen.png
....dann sehen wir sogar höhere avg FPS für die Novigrad Szene. Vermutlich muss die Grafikkarte für die Vegetation und das Wasser(CB Szene) stärker arbeiten als für die Häuser und NPCs in Novigrad.
Bei den 1% bis 0.1% low Werten dreht sich die Reihenfolge um und die CB Szene läuft mit gleichmäßigeren Frametimes.

Auch wenn wir die Daten schon gesehen hatten zeige ich hier nochmal diese drei Testkandidaten in der Novigrad Szene:

w3 novi szene.png

Die 0.1% low Werte des 4,4GHz i5 und des Ryzen waren in der CB Szene noch beide auf tolle 70 FPS gekommen.
in Novigrad kann der Ryzen immerhin über 60 halten, wo der i5 auf unter 50 fällt.

Wir haben hier ein schönes Beispiel dafür, wie unterschiedliche Situationen in Spielen die Anforderungen an die Hardware deutlich verschieben können.

Daher halte ich es für wichtig, CPU und Grafikkartentests mit unterschiedlichen Testsequenzen zu testen.

Die CB Szene eignet sich sehr gut für einen Grafikkartentest weil die CPU praktisch keine Rolle spielt und die Last auf der Grafikkarte scheinbar sehr hoch ist.

Meine Novigrad Szene eignet sich eher schlecht für Grafikkartentests, dafür zeigt sie gute Unterschiede in Bezug auf CPUs.
In meinem Test war die 16 Thread CPU höchstens um die 30% ausgelastet. Das entspricht 4 bis 5 Kernen an "Rohleistung", die benötigt wird.
Wenig verwunderlich waren damit vier Kerne mit SMT bereits ziemlich gut und volle 8 Kerne konnten nur noch wenig Steigerung bieten.

Vermutlich würden die Vorteile besser zum tragen kommen wenn ich eine niedrigere Auflösung/niedrigere Grafikeinstellungen oder eine noch bessere Grafikkarte nutzen würde. Ich wollte meine Tests aber realistisch halten und habe daher auf einen Kompromiss aus Optik und FPS hin optimiert.


Fazit:

The Witcher 3 ist kein einfacher Fall. ;)

- Großteils GPU limitiert.

- Selbst in meiner Testszene wechselt man mit immer schnelleren CPUs von "teils CPU/teils GPU limitiert" über
"überwiegend GPU limitiert" zu "Eigentlich GPU limitiert mit Ausnahme von Frametimepeaks".

- Die Nachladeruckler können ein großes Problem sein.

- Zu hohe FPS, ohne die CPU Rohleistung um Lastspitzen abzufangen, führen dazu, dass sich das Spiel
"verschluckt" und teilweise mit höheren FPS schlechter läuft.

- Eine Aussage zur Wichtigkeit von Ram Geschwindigkeit muss Situationsbedingt getroffen werden. Wenn man schon ausreichend CPU Kerne hat um auch in der Novigrad Szene im GPU limit zu hängen, macht der Ram keinen Unterschied.
Hat man jedoch nur CPU 4 Kerne und ist oft CPU limitiert hilft schneller Ram deutlich.

- Der beobachtete "Lerneffekt" ist mysteriös und problematisch. Längere Eingewöhnungsphasen sind nötig um reproduzierbar messen zu können und manchmal funktioniert es nicht, wie meine alten Tests aus Anfang 2017 zeigen.
Und auch wenn der Bereich um Novigrad angelernt wurde, werden manche Spieler trotzdem in Probleme laufen wenn sie in andere Bereiche reisen....hier müsste vermutlich ein Spieleupdate das Problem angehen.

--------------------

Die Auswertung der verglichenen Hardwarekombinationen zeigt, dass es gerne 4 Kerne mit SMT/HT sein dürfen, noch besser mehr echte Kerne.
Denn man möchte ja nicht nur ruckelfrei durch die Wildnis laufen können sondern auch in goßen Städten und Dorfzentren ein gutes Spielerlebnis genießen.

Schneller Ram ist nur wichtig wenn man nicht genug Kerne/Threads hat, hilft dann aber deutlich.

Zumindest in meinem Fall mit dem i5, sollte Windows 7 für dieses Spiel gemieden werden. Wenn ich das richtig beobachtet habe, hat der Windows Scheduler dort mehr Probleme wirklich alle Kerne voll auszulasten und das Spiel "verschluckt" sich daher häufiger.

Der Unterschied von 2+2 zu 4+0 ist in The Witcher 3 nicht groß. Der größere L3 Cache scheint die schnellere CCX Komunikation fast auszugleichen und bei langsamem Ram diesen so viel besser abfedern, dass ich 2+2 bevorzugen würde.
Daher geh auch die Analyse des IF Einflusses schief und kommt nicht zu eindeutigen Ergebnissen.


--------------

Gerne würde ich von euch wissen wie das Spiel bei euch läuft! :)

Habt ihr auch Nachladeruckler oder dieses "Verschlucken" trotz hoher FPS?

Lernt euer System mit der Zeit oder braucht ihr gar keine Lernphase und es gibt nie Nachladeruckler?

Und Glückwunsch an alle, die es bis hierher geschafft haben! ;)
Ihr habt Durchhaltevermögen!
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: CMDCake
Also ich hatte meines wissens nach immer ein sehr smoothes gameplay (Sowohl mit 3440x1440 als auch 4k/Full HD).
​Allerdings habe ich die Grafik auch meistens hochgeschraubt so das ich geradeso dauerhafte mind. 60 PS hatte, mit Ausnahme vom spielen in Full HD aber dort wurde der Monitor mit 120hz betrieben.
 
Irgendwann hab ich nur noch gescrollt. Aber definitiv RESPEKT für die ganze Arbeit und das auch noch in Wort&Schrift festzuhalten.
 
Hab es ehrlich gesagt nur überflogen, aber wirklich props für die Arbeit die hier reingeflossen ist. Bezüglich zum Thema kann ich nur sagen, dass ich "gefühlt" auch in novigrad ein wirklich flüssiges Spiel habe, seit ich vom i5 2500k auf den Ryzen 1700 (auf 3,85ghz) gewechselt bin (mit einer 980ti). Der i5 war dort dauerhaft auf 100% und es war wirklich eine ruckel und nachlade Orgie teilweise.
 
Zuletzt bearbeitet:
Shelung und Residentsleeper.....direkt zwei Beispiele von entgegengesetzten Erfahrungen;).

@Residentsleeper
Das Ruckeln des i5 2500K in Novigrad deckt sich ja mit meinen Erfahrungen.
Was hast du im Schnitt so für FPS?
Und sind es eher viele kleine oder auch auch diese Nachladeruckler?
 
Sind jetzt schon ein paar Monate her wo ich den hatte, aber es waren meine ich in novigrad max 40 fps und eher so 30 fps wo dann die 980ti bei unter 50% gegammelt hat. Nachladen war meine ich immer beim Kamera schwenken oder schnellen rennen durch die besidelten Gegenden / diesen Marktplatz. Hab allerdings auch von 8gb ddr3 auf 16gb ddr4 gewechselt vielleicht liegt es auch daran.
 
Viel Ram braucht das Spiel nicht...auch nicht viel VRam.

Wie man bei den Tests sieht, bringt ja mehr CPU Takt und mehr Ram Geschwindigkeit ziemlich viel bei vier CPU Kernen.

Dass du mit dem i5 2500K in Städten und Dorfzentren niedrige FPS und Ruckler hast scheint logisch.

Das Nachladen passiert mir auch besonders bei Kameraschwenks...sogar in dem ersten Dorf vor dem Gasthaus....mit dem Ryzen aber nur noch ganz selten....Da ist die Rohleistung wirklich nützlich.
 
Ja mit dem takt stimmt. Und mein i5 (oder vielleicht war es auch das board) war extrem schlecht im übertakten. Über 4,2ghz ging da leider nix..
 
4,2GHz sind nicht gut, aber schon ein deutlicher Sprung zu stock.

Ich habe auch "nur" auf 4,4GHz übertaktet....mit viel Spannung wäre auch 4,6 gegangen aber das fand ich unverhältnismäßig...so wie ich den Ryzen auch auf 3,8 und nicht auf 4GHz betreibe.

Was hattest du denn für Ram Geschwindigkeit?
 
Bezüglich des shadercache's war ich unsicher, weil ich gelesen hatte, dass Steam diese verwaltet und ich the Witcher 3 auf gog nutze.

Ich habe nochmal nachgelesen und Steam hilft nur bei der Verteilung und Speicherung.... eigentlich liegt es im Treiber.

Dann wird der Lerneffekt wohl daran liegen.....kann man das manuell installieren, von jemanden der schon eine vollständige Version zu the Witcher 3 hat?
 
Warum sind die Tests alle im GPU-limit, wenn es um die CPU geht?
 
@Resdentsleeper 1600er ddr3 geht ja sogar noch....vor allem wenn er nicht wie bei mir mit CL11 laufen muss.

@SKu Es ist ja nicht alles im GPU Limit.
Nur die CPUs mit mehr als 4 Threads bewegen sich überwiegend im GPU Limit(zumindest im der Novigrad Szene).

Die reinen 4 Kerner sind da eigentlich immer im CPU Limit.

Ich hätte sicherlich auch die Auflösung von 1440p auf 720p senken oder die Grafikeinstellungen weiter senken können...Das war aber nicht meine Intention für diese Testserie.

Tests mit einer 1080 TI bei 720p gibt es genug im Netz. Auch welche mit maximalen Grafikeinstellungen.

Mein Ansatz war es für die Spiele, wo die Grafikkarte eine Rolle spielt, die Einstellungen so auf Optik/Leistung zu optimieren wie ich es selbst gerne spielen würde und dann zu gucken was sich für Unterschiede, durch andere CPUs/Ram-Takt/CPU-Takt, ergeben.

Deshalb ist Hairworks aus, Schatten sind nur auf Mittel, Umgebungsverdeckung auf SSAO, Wasser und Gras nur auf hoch...Ich habe alles durchprobiert, selbst die Optik verglichen und auch diese Tweaking Seite von Nvidia benutzt um die Effekte besser zu vergleichen und habe mich dann für diese Kombination entschieden....Die Grafikkarte schafft so immerhin um die 100 avg FPS.

Dass der Ryzen mit 8 Kernen hier im GPU Limit hängt ist dann halt so....kann man trotzdem untersuchen ob sich zumindest Unterschiede bei den Frametimes ergeben.

Ich hätte den Test auch nicht so ausführlich gemacht, wenn es wie bei CB gewesen wäre und ich überall das gleiche Ergebniss erhalten hätte....Das war ja nicht der Fall.
Der i5 fällt stark, und für den Spieler spürbar, ab und sowohl ddr3 als auch ddr4 zeigen zumindest mit 4 Kernen eine starke Skalierung usw.


Ich bin aber für Änderungsvorschläge offen! :) Ich würde gerne noch einen 2700X kaufen und dann eine zweite Testserie machen, dann mit Spectre Schutz und Vergleich Zen zu Zen+. Bis dahin braucht ivy Bridge und Zen aber erstmal finale Microcode updates.

Wenn du da weitere Ideen hast, kann ich ja gucken wie das zusammenpasst.

Im Moment arbeite ich an einer Gesamtauswertung über die 12 Spiele die ich getestet habe.
Da bin ich noch etwas planlos am rumprobieren wie ich das am besten anfangen soll.....sowas cooles interaktives wie bei den CB Tests habe ich leider nicht...wird auf verschiedene Zusammenstellungen durch mich hinauslaufen.

Ich würde z.B. Elex, ROTTR und The Witcher 3 als größtenteils GPU limitiert zusammenfassen...Hitman läuft in ein FPS Limit....das könnte da auch mit rein.

Thief und The Witcher 2 als CPU limitierte 3rd Person Spiele.

AotS als Ashes of the Benchmark.

Und die restlichen Spiele als Strategiespiele mit single Thread limitierung.

Dann eben die "Rendite" für mehr CPU oder Ram Rohleistung.

DX11 vs. 12

Win 7 vs 10 usw.
 
Zuletzt bearbeitet:
Ein Vorschlag meinerseits wenn es um Spiele im CPU limit geht wäre noch Battlefield 1 (im Multiplayer). Dort war mein i5 2500k auch dauerhaft auf 100% gerade auf 64 Spieler Servern. Ist aber eventuell etwas schwer nachzustellen.
 
BF1 im mp wäre sicherlich CPU lastig.
Aber wie du schon sagtest kaum nachzustellen.

Ich hatte auch versucht overwatch zu testen aber erstens hatte ich Schwierigkeiten es reproduzierbar zu machen und zweitens war es uninteressant, weil es auf allen CPU Varianten super lief....da braucht man keinen Test.

Den Unterschied von 200 zu 250 FPS bei sauberen frametimes halte ich nicht für testenswert.
Deshalb war auch tomb Raider aus meiner Auswahl rausgeflogen.

Ich bin auch nicht unbedingt gewillt geld für spiele und Hardware auszugeben, die ich nicht brauche.
;)
 
Zurück
Oben