Interesse an Kernel-Benchmarks für Gaming?

Arjab

Lt. Junior Grade
Registriert
Feb. 2013
Beiträge
474
Ich habe letzte Woche Benchmarks für den stable Arch Linux Kernel, den Zen-, Xanmod- und TKG-Kernel in vier unterschiedlichen Spielen gemacht und einen Beitrag auf Englisch zu meinen Überlegungen, Methoden, den Ergebnissen und meinen Schlussfolgerungen im Arch Linux Subreddit gepostet.
Falls Interesse daran besteht, kann ich den Beitrag auch gerne noch mal hier auf Deutsch posten. Ich bin mir nicht sicher, wie gerne es gesehen wird, einfach Beiträge von Reddit hier zu crossposten. Darum dachte ich, horche ich erstmal, ob Interesse besteht.

EDIT:

Dann hier mal die Übersetzung meines Beitrags. Ich muss gestehen, dass ich den einglischen Beitrag einfach durch Deepl.com gejagt habe und dann nochmal drüber gegangen bin, um einige Formulierungen zu korrigieren. Wundert euch also nicht, falls einige Passagen möglicherweise etwas holprig klingen und fragt mich gerne einfach, wenn etwas unklar ist.

Ergebnisse für die Kernel-Benchmarks für's Gaming​

"Letztens hat jemand im Arch Linux-Subreddit gefragt, ob der Zen-Kernel noch sinnvoll für Gaming ist und ich hab' mich das gleiche gefragt. Nach ein bisschen Recherche hab' ich keine aktuellen Vergleiche zwischen den populären "Gaming"-Kernel für Arch Linux - Linux-Zen, Linux-Xanmod und Linux-TKG - finden können.

Also hab' ich mir gedacht, dass ich meine eigenen Benchmarks machen sollte, um die Kernel zu vergleichen und habe im Arch Linux-Subreddit nachgefragt, welche Spiele ich benchmarken soll.

Herausgekommen sind folgende Spiele:
  • Counter-Strike: Global Offensive
  • Civilization VI
  • Grand Theft Auto 5
  • Cyberpunk 2077
  • Shadow of the Tomb Raider
  • Far Cry 5
Diese Spielen bietet sowohl CPU- als auch GPU-lastige Szenarien, sind mehr oder weniger beliebt oder wurden in der Vergangenheit häufig für Benchmarks verwendet. Außerdem bieten alle integrierte Benchmarks.

Tja, als es zu den eigentlichen Benchmarks kam, musste ich feststellen, dass GTA 5 und Cyberpunk 2077 entweder die 0,1 % low und 1,0 % low FPS nicht anzeigen oder einfach nicht mit MangoHUD aufgezeichnet werden, also habe ich mich gegen die Spiele entschieden. Stattdessen habe ich einfach Far Cry 5 genommen, weil ich das - mal wieder - bereits installiert hatte und es auch 'n in-game Benchmark hat. Also vier statt fünf Spiele...

Setup​

Ich bin folgendermaßen vorgegangen: Ich habe für jedes Spiel einen Benchmark durchgeführt, um die Dinge so konsistent wie möglich zu halten, d.h. ich habe einen Benchmark durchgeführt, mit einem anderen Kernel neu gestartet und einen Benchmark für dasselbe Spiel durchgeführt und so weiter und so fort. Ich habe drei Benchmarks für jedes Spiel durchgeführt, um einen guten Durchschnitt zu erhalten, so dass ich insgesamt 60 48 Durchläufe hatte.

Ich habe die FPS mit MangoHUD aufgezeichnet, weil es ziemlich einfach ist und mit (fast) jedem Spiel läuft, egal ob es über Steam oder Lutris gestartet wird. MangoHUD gibt eine detaillierte CVS-Datei mit allen aufgezeichneten Frames sowie eine Zusammenfassung pro Benchmark aus, die sowohl die 0,1 % low, 1 % low, 97 % und durchschnittliche FPS enthält.

Die Spezifikationen meines Systems können hier (inxi-Ausgabe) und meine installierten Pakete und die jeweiligen Versionen hier (pacman -Qe-Ausgabe) eingesehen werden. Sobald ich mit den Benchmarks begonnen habe, habe ich aufgehört, mein System zu aktualisieren, um für alle Spiele die gleiche Softwareumgebung zu haben. Wie ihr sehen könnt, verwende ich die folgenden Kernelparameter, die mit allen Kernel verwendet hab'.

Code:
Optionen amdgpu.ppfeaturemask=0xffffffff
optionen pci=noats

Beim Laufen der Benchmarks waren nur Steam bzw. Lutris geöffnet, sowie Dolphin, LibreOffice Writer und Calc.

Kernel​

Die meisten der Kernel sind im Arch User Repository verfügbar und lassen sich leicht installieren. Ich habe mich außerdem dazu entschieden, die drei Kernel mit dem standardmäßigen stable Kernel von Arch Linux zu vergleichen. Nur Linux-TKG muss kompiliert werden und bietet einige Möglichkeiten der Konfiguration. Ich hab' meistens die Standardeinstellungen ausgewählt mit Ausnahme der CPU-Architektur, wobei die folgende Konfiguration herauskam:
  • Project C / PDS Scheduler
  • Zen 2 Architektur
  • Keine yields
  • 4ms round robin interval
  • 500 Hz interrupt timer frequency
  • Tickless idle
  • Kein ACS override patch
  • Kein Anbox patch
Die installierten Kernel-Versionen waren also die folgenden (sowie die entsprechenden Kernel-Header):

Benchmarks​

Wie gesagt, habe ich drei Benchmarks pro Spiel durchgeführt und im Folgenden seht ihr die jeweiligen Versionen und Einstellungen der Spiele.

Counter-Strike: Global Offensive​

  • Updates vom 18. Mai
  • Gestartet im Standard-Modus mit OpenGL
  • Steam launch options: mangohud %command% -vulkan -tickrate 128 -novid -nojoy -high
Einstellungen
  • Auflösung: 1920x1440, Vollbild
  • Global Shadow Quality: Hoch
  • Model/Texture Detail: Hoch
  • Texture Streaming: Aus
  • Effect Detail: Hoch
  • Shader Detail: Sehr hoch
  • Boost Player Contrast: Aus
  • Multicore Rendering: Ein
  • Multisampling Anti-Aliasing Mode: 8x MSAA
  • FXAA Anti-Aliasing: Aus
  • Texture Filtering Mode: Anisotropic x16
  • Wait for Vertical Sync: Aus
  • Motion Blur: Aus
  • Triple-Monitor Mode: Aus
  • Use Uber-Shaders: Ein
Ich habe folgende FPS Benchmark Workshop Map genutzt.

Civilization VI​

Ich habe das Spiel mit folgendem Befehl über die Konsole gestartet, da der Benchmark unter Lutris immer abstürzte: MANGOHUD=1 wine /pfad/zum/spiel.exe.

Ich habe den "AI"-Benchmark benutzt, weil er (angeblich) stärker CPU-lastig ist und ich keine Zeit für den extralangen "heavy" Benchmark hatte.

Einstellungen
  • Auflösung: 2560x1440, 144 Hz, Vollbild
  • VSync: Aus
  • Anti-Aliasing: MSAA x8
  • Graphics preset: Hoch

Shadow of the Tomb Raider​

Ich habe die kostenlose Demoversion auf Steam benutzt. Das Spiel läuft recht gut unter Linux, aber ich hatte ständig flackernde schwarze Dreiecke auf der Textur einiger Modelle. Und manchmal erschienen schwarze Flecken an den Rändern des Bildschirms, die den ganzen Bildschirm mit Schwärze gefüllt haben, aber die Leistung offenbar überhaupt nicht beeinträchtigen haben.

Einstellungen
  • Auflösung: 2560x1440, Vollbild
  • DirectX12: Aus
  • VSync: Aus
  • Anti-Aliasing: TAA
  • Graphics preset: Mittel

Far Cry 5​

Ich hab' das Spiel mit folgender Wine-Version mit Lutris gestartet: lutris-fshack-7.2.

Lutris Einstellungen:
  • DXVK: v1.9L-8b6ac52
  • VKD3D: v2.6
  • D3D: v2
  • DXVK NVAPI: v0.5.3
  • Esync: An
  • Fsync: Aus
Einstellungen im Spiel:
  • Auflösung: 2560x1440, Vollbild, 165 Hz
  • HDR: N/A
  • Graphics Quality: Ultra
  • Texture Filtering: Ultra
  • Shadowes: Ultra
  • Geometry & Vegetation: Ultra
  • Environment: Ultra
  • Water: Hoch
  • Terrain: Hoch
  • Volumetric Fog: Hoch
  • HD Textures: An
  • Anti-aliasing: TAA
  • Motion Blur: Aus
  • Vsync: Aus

Ergebnisse​

Da MangoHUD detaillierte Ergebnisse und eine Zusammenfassung ausgibt, werde ich den Durchschnitt der Zusammenfassungen der drei Läufe pro Kernel und pro Spiel in einer Tabelle unten veröffentlichen. Ich werde auch die detaillierten Ergebnisse pro Spiel auf meinem Profil (https://flightlessmango.com/users/900) auf flightlessmango.com (https://flightlessmango.com/) hochladen, damit ihr euch die anschauen könnt. (Fragt mich mich nicht, warum Shadow of the Tomb Raider nicht angezeigt wird, Link unten).

Bei Far Cry 5 und Shadow of the Tomb Raider habe ich einige Frames des Ladebildschirms nach dem eigentlichen Benchmark aufgezeichnet, was zu Frame-Einbrüchen und -Spitzen geführt hat. Ich habe die Daten bearbeitet und die offensichtlich zu niedrigen oder zu hohen Frames einfach abgeschnitten. Ich habe sowohl die unbearbeiteten, als auch die bearbeiteten Daten zu FlightlessMango hochgeladen (siehe unten).

Das bedeutet auch, dass die Zusammenfassung der MangoHUD-Ausgaben nicht genau ist, wie man an einigen sehr niedrigen 0,1 % low FPS sehen kann. Ich füge sie der Transparenz halber trotzdem in eine Tabelle ein. Hier sind die Durchschnittswerte der drei Durchläufe und eine Spalte mit den Gesamtdurchschnittswerten für alle Spiele pro Kernel für eine bessere Übersicht:

LinuxLinux-ZenLinux-Xanmod
Linux-TKG
Counter-Strike:
Global Offensive
0.10%54.730.10%55.070.10%53.800.10%54.73
1.0 %56.731.0 %56.101.0 %55.531.0 %56.70
97 %919.5397 %889.3397 %882.0797 %953.97
Avg.405.33Avg.420.93Avg.420.47Avg.447.67
Civilization VI0.10%12.530.10%20.630.10%17.930.10%19.90
1.0 %25.531.0 %31.631.0 %30.671.0 %30.07
97 %129.7397 %122.9097 %126.4097 %120.57
Avg.87.27Avg.85.97Avg.86.20Avg.85.70
Far Cry 50.10%53.63
0.10%
57.700.10%55.330.10%59.33
1.0 %60.671.0 %62.271.0 %62.871.0 %60.33
97 %105.3797 %105.2797 %105.5097 %104.63
Avg.90.00Avg.89.83Avg.90.00Avg.88.97
Shadow of the
Tomb Raider
0.10%3.030.10%3.270.10%3.270.10%3.13
1.0 %30.401.0 %32.201.0 %33.101.0 %30.30
97 %127.2397 %126.4797 %127.3397 %126.27
Avg.77.73Avg.79.70Avg.79.07Avg.77.13

Durchschnitt (arithmetisches Mittel):​


LinuxLinux-ZenLinux-XanmodLinux-TKG
0.10%30.980.10%34.170.10%32.580.10%34.28
1.0 %43.331.0 %45.551.0 %45.541.0 %44.35
97 %320.4797 %310.9997 %310.3397 %326.36
Avg.165.08Avg.169.11Avg.168.93Avg.174.87

Durchschnitt (geometrisches Mittel):​


LinuxLinux-ZenLinux-XanmodLinux-TKG
0.10%18.280.10%21.510.10%20.440.10%21.21
1.0 %40.431.0 %43.431.0 %43.391.0 %
42.02
97 %199.9897 %195.3197 %196.7397 %
197.44
Avg.125.42Avg.126.87Avg.126.73Avg.
127.38

Wie bereits erwähnt, habe ich auch die detaillierten Benchmark-Ergebnisse auf FlightlessMango hochgeladen, die ihr hier finden könnt:
Wenn ihr euch die Benchmark-Daten ansehen wollt, könnt ihr sie hier herunterladen (läuft nach zwei Wochen ab, danach könnt ihr mir 'ne Nachricht schreiben) sowie eine detailliertere Tabelle (ODS), in der ich den Durchschnitt aus den drei Läufen pro Spiel berechnet habe.

Ich bin mir sicher, dass ich irgendwo etwas durcheinander gebracht habe, also überprüft alles noch einmal selbst und fragt mich bitte alles, was euch zu dem Ganzen einfällt. Ich werde mein System für die nächste Woche so lassen, wie es ist, damit ich in der Lage bin, alles, was notwendig sein könnte, erneut zu überprüfen.

Ich hoffe, das ist für jemanden nützlich...

EDIT: Ich hab' die Tabelle gedreht, so dass die Kernel oben sind.

Ich werde auch bald meine Meinung zu den Ergebnissen abgeben. Ich habe das absichtlich ausgelassen, um zu sehen, was ihr von den Ergebnissen haltet.

EDIT: Und hier, was ich denke, und wie immer im Leben, gibt es keine klare Antwort.

Zusammenfassung​

Laut den Zusammenfassungen der drei Durchläufe pro Spiel hat TKG die höchsten durchschnittlichen FPS in CS:GO, während Zen und Xanmod immer noch höher sind als der stable Kernel. Aber alle Kernel haben ähnliche 1,0 % low FPS, die Unterschiede sind eher marginal.

In Civilization 6 sind die durchschnittlichen FPS fast gleich, wobei der stable Kernel etwas besser ist und die 1,0 % low FPS den größeren Unterschied ausmachen. Hier hat Zen die besten Ergebnisse, dicht gefolgt von Xanmod und TKG, während der stable Kernel am langsamsten ist.

Die durchschnittlichen FPS sind in Far Cry 5 ebenfalls recht ähnlich. Zen und Xanmod haben die höchsten 1,0 % low FPS, TKG ist nur so schnell wie der stable Kernel.

Und in Shadow of the Tomb Raider haben Zen und Xanmod die höchsten durchschnittlichen FPS, TKG ist nur so schnell wie der stable Kernel. Bei den 1,0 % low FPS ist es fast das Gleiche.

Wenn man sich also nur die durchschnittlichen und 1,0 % low FPS für diese vier Spiele ansieht, ist es wirklich schwer zu sagen, welchen Kernel man verwenden sollte. Es hängt nicht nur davon ab, ob man hohe durchschnittliche FPS oder hohe 1,0 % low FPS bevorzugt, sondern auch davon, welches Spiel man spielt. Für die besten durchschnittlichen FPS scheint der stable Kernel eine gute Wahl zu sein, während ich für 1,0 % low FPS den Xanmod Kernel wählen würde. Überraschenderweise glänzt TKG nur in CS:GO wirklich.

Interessant ist auch, dass sich der Durchschnitt aller Spiele wieder zu Gunsten von TKG verschiebt, es hat die insgesamt besten durchschnittlichen FPS (sowie die insgesamt besten 0,1 % low und 97 % FPS), während Zen die insgesamt besten 1,0 % low FPS hat.

Details​

Wenn man sich die detaillierteren Ergebnisse ansieht, hat TKG immer noch den besten Durchschnitt in CS:GO, während die minimalen FPS alle ungefähr identisch sind.

In Civilization 6 sind die Unterschiede wirklich gering und können im Allgemeinen als Messtoleranz angesehen werden.

Bei Shadow of the Tomb Raider sind die minimalen FPS definitiv besser, ebenso wie die durchschnittlichen FPS, die etwas besser sind. Interessanterweise hat TKG die schlechtesten Ergebnisse für dieses Spiel.

Und schließlich gibt es bei Far Cry 5 kaum messbare Unterschiede zwischen den Kernel.

Fazit​

Es ist möglich, einige FPS aus einem Spiel herauszuquetschen, wenn man den richtigen Kernel hat. Aber anscheinend braucht man jeweils einen anderen Kernel für verschiedene Spiele sowie einen anderen Kernel für verschiedene Vorlieben (1,0 % low vs. durchschnittliche FPS). Es gibt also keine allgemeingültige Antwort darauf, welchen Kernel man für Spiele verwenden sollte.

Als durchschnittlicher Spieler ist man mit dem stable Kernel oder vielleicht mit Linux-Zen oder Linux-Xanmod gut bedient. Der Linux-TKG-Kernel hat den Vorteil, dass er für euer System und eure CPU-Architektur kompiliert ist, anstatt eine generische Binary zu sein. Aber selbst das ist nicht immer ein messbarer Vorteil.

Ich schätze, ich bleibe bei Linux-Zen, weil ich nicht bei jedem Update einen Kernel kompilieren möchte, spiele aber trotzdem die meiste Zeit CS:GO, wo Zen eine gute Leistung sowie die insgesamt besten 1,0 % low FPS hatte. Aber wichitger ist dabei, dass ich den Kernel schon vorher benutzt habe, es könnte also auch nur Aberglaube sein.

Was denkt ihr und welchen Kernel benutzt ihr?

EDIT: Habe die Ergebnisse neu hochgeladen.

EDIT #2: Auf vielfachen Wunsch hab' ich die geometrischen Mittel hinzugefügt, die meine Interpretation und Schlussfolgerung überflüssig machen könnten. Ich werde demnächst nochmal drüber schauen. Aber im Moment freue ich mich über die konstruktive Diskussion und die Vorschläge in den Kommentaren. Weiter so!

EDIT #3: Besonderen Dank an u/InfamousAgency6784 für die wissenschaftlichere Herangehensweise an meine Ergebnisse, die leider nach einem missverständlichen ersten Kommentar etwas untergegangen sind."

EDIT: Ich hab' überlegt, die Grafiken von Flightlessmango hier direkt einzufügen, aber dann geht einem der gesamte Effekt flöten, dass man einzelne Graphen ein- und ausblenden kann. Darum nochmal hier der Hinweis, guckt euch die verlinkten Daten zu den einzelnen Benchmarks an, dort kann man auch die jeweiligen CVS-Dateien herunterladen.

Und noch ein Hinweis, die nicht-formatierten Edits hab' ich zur Transparenz von Reddit übernommen. Das fett gedruckte Edit über diesem Text, ist der erste 'richtige' Edit dieses Beitrages auf CB.
 
Zuletzt bearbeitet: (Hinweise ergänzt.)
  • Gefällt mir
Reaktionen: JeanLegi, Spike Py, agon und 12 andere
Ich hätte Interesse, brauche aber keine Übersetzung. Ein Link zu Reddit oder hier nochmal rein hauen würde (mir) völlig ausreichen.
 
  • Gefällt mir
Reaktionen: Arjab, petepow und Natriumchlorid
Ich hätte auch großes Interesse. Für mich kann es aber auch in Englisch bleiben.
 
  • Gefällt mir
Reaktionen: Arjab
Schöner Test. Ich denke schon, dass eine Übersetzung hier willkommen wäre, immerhin wäre durch diese ja ein Mehrwert geboten. Ich selbst nutzen den Zen Kernel, es fühlt sich subjektiv insgesamt flüssiger an, also das ganze Desktoperlebnis - im Vergleich zum Normalen. Andere Kernel hab ich mir bisher nicht angeschaut, aber den XanMod hab ich mir jetzt auf meine To-Do Liste gesetzt, danke also.
 
  • Gefällt mir
Reaktionen: Natriumchlorid, tomgit und Arjab
Da ich dem Englisch nicht allzu mächtig bin, wäre eine Übersetzung auch willkommen, da es mich doch stark interessieren würde :) Aber sieht aufjedefall nach viel Arbeit aus und erstmal ein danke für deine Mühe!
 
  • Gefällt mir
Reaktionen: Arjab
Wie groß ist die Abweichung, wenn du unter selben Testbedingungen einen Test 10x hintereinander fährst?
Die Testwerte deuten mit zwei Nachkommastellen ja eine unheimliche Präzision an, dabei ist kaum absehbar, wo die Messungenauigkeit anfängt :/
 
Das weiß ich nicht, aber ich denke auch bei mehr Durchläufen wird die Abweichung nicht deutlich größer. Die vermeintliche Präzision kommt einfach dadurch zustande, dass MangoHUD Frames mit vier Nachkommastellen aufzeichnet und selbst die Werte aus allen aufgezeichneten Frames errechnet.
 
Naja Unity Spacesship als sehr statischer Benchmark:
Messreihe: 24,3 24,5 24,3 24,4
Durchschnitt: 24,375
Standardabweichung von 0,0829 was etwa 3,4% vom Durchschnitt entspricht.

FPSmin Durchschnitt: 18,725FPS bei Standardabweichung von 0,0829 (ist wirklich gleich groß) also etwa 4,4% Abweichung.

Aussagen über Differenzen innerhalb der Standardabweichung sind halt für die Katz. Und alle Angaben über die erste Nachkommastelle genauso sinnlos.
 
  • Gefällt mir
Reaktionen: abcddcba
Zurück
Oben