gamemode.ini für AMD System

Scheinbar bringt der Gamemode eher eine gewisse Effizienz (Stromeinsparung?) mit sich.
Aber das müsste man mit einem entsprechenden Messgarät mal überprüfen, ob gravierende Unterschiede bestehen.

Wenn nicht, dann sind die neuen Kernel bereits sehr gut optimiert & erkennen Spiele bzw. leistungsforderne Anwendungen.



Ohne Gamemode starten meine Spiele per Lutris überigens etwa 1-3 Sekunden schneller (quasi prompt). 😉
 
  • Gefällt mir
Reaktionen: polyphase
Ja, ohne Gamemode fühlt sich alles flüssiger an.
Startzeiten habe ich jetzt nicht geprüft.

Ich spiele wieder ohne gamemode
 
  • Gefällt mir
Reaktionen: rarp und Tanzmusikus
Wenn noch ein bisschen mehr an Performance unter DirectX11 benötigt wird, dann könnte ggf. dies noch helfen: RADV_PERFTEST=gpl.

In Lutris als Umgebungsvariable RADV_PERFTEST eingeben & gpl als Wert.

Bei Steam RADV_PERFTEST=gpl %command%.

Nähere Infos dazu z.B. hier:
https://www.protondb.com/app/8140
https://www.reddit.com/r/linux_gaming/comments/10rrwmg/radv_perftestgpl_is_awesome_for_dxvk_games/
https://www.reddit.com/r/SteamDeck/comments/11rcnl4/psa_with_the_most_recent_update_steam_deck_now/
https://www.reddit.com/r/SteamDeck/...hics_pipeline_library_radv_perftestgpl_to_be/
https://www.computerbase.de/forum/threads/rx-7900-xt-linux.2149690/
 
  • Gefällt mir
Reaktionen: polyphase
polyphase schrieb:
Also auch hier bringt der Gamemode quasi garnichts.
Ich hab's grad mit Mangohud getestet und ja, die Ergebnisse sind ernüchternd.

Vorweg: In CoreCtrl habe ich GPU + CPU auf höchste Leistung eingestellt.

In der Mangohud-Konfig des Spiels hatte ich die FPS auf 144 limitiert, die schafft meine Graka eh nicht. Zudem drehen die FPS im Menü dann nicht durch, die locker 4-stellige Werte erreichen können.

In den von Mangohud erstellten CSV-Dateien habe ich alle dennoch auftretenden Ausreißer über 144FPS (gingen bis ca. 1700FPS!) gelöscht, da die Charts ansonsten kaum leserlich waren.
Die unruhigste Frametime-Kurve entstand übrigens mit renice=10 in /etc/gamemode.ini.
Ob der Gamemode wie gewünscht (de)aktiviert war, habe ich auf dem zweiten Bildschirm in einem Terminal mit watch gamemoded -s anzeigen lassen.

Ich habe die Charts hier angehängt, aber der Vergleich kann auch auf der Website zu Mangohud-Benchmarks eingesehen werden. Einzelne Konfigurationen können dort gezielt (de)aktiviert werden.

Klar, das ist nicht repräsentativ usw. usf., aber der Elefant steht im Raum: Ist Gamemode nur viel Lärm um Nichts?
Hat jemand selbst Benchmarks erstellt, die ein anderes Bild zeichnen?

EDIT: Das Spiel ist übrigens Hellblade: Senua's Sacrifice.
 

Anhänge

  • Hellblade_gamemode_min-max-avg.png
    Hellblade_gamemode_min-max-avg.png
    39,7 KB · Aufrufe: 87
  • Hellblade_gamemode_Frametimes.png
    Hellblade_gamemode_Frametimes.png
    86,7 KB · Aufrufe: 86
  • Hellblade_gamemode_FPS.png
    Hellblade_gamemode_FPS.png
    101,8 KB · Aufrufe: 88
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: polyphase und Tanzmusikus
Ich denke das der Gamemode mal bei einem Kernel der 5er Reihe wirklich was gebracht hat.
Wenn man einen aktuellen Kernel aus der 6er Reihe nimmt, sind wahrscheinlich schon viele Optimierungen im Kernel.

Wenn ich Planet Coaster spiele, tauchen auch mehrere laufende Instanzen in htop auf.
Einige davon laufen mit Prio 0 und nur einer mit Prio 10. Das wird von Linux schon sehr gut automatisch geregelt.

Wenn ich einen Park mit weniger Besuchern verwende, steigt die GPU Auslastung fast bis zu 100% an und die FPS liegen in den oberen 90, teilweise sogar über 100.

Hier scheint irgendwie die CPU zu limitieren, wobei diese nur pro Kern/Thread nie mehr als um die 52% ausgelastet ist.


@rarp
Danke für den ausführlichen Benchmark 👍
 
  • Gefällt mir
Reaktionen: Tanzmusikus und rarp
Über 50% Auslastung ist doch ziemlich viel.
Je nach Anwendung ist die CPU da wahrscheinlich am Limit bzw. knapp drunter.
 

CS:GO Benchmark "w/ vs w/o GameMode (GM)"​

Zusammenfassung (mit CPU-Bottleneck)​

w/ gamemode
0.1% Min FPS​
1% Min FPS​
97% Percentile FPS​
Average FPS​
GPU Load​
CPU Load​
CSGO AVG FPS​
cpu scheduler
57.3​
69.9​
811.6​
400.5​
72.5​
14.9​
277.23​
performance

w/o gamemode
0.1% Min FPS​
1% Min FPS​
97% Percentile FPS​
Average FPS​
GPU Load​
CPU Load​
CSGO AVG FPS​
cpu scheduler
59.3​
69.4​
856.6​
413.6​
72.7​
14.3​
288.10​
powersave

Unterschiede:
  • Der CPU Scheduler ändert sich durch GM. (amd_pstate_epp ist übrigens aktiviert.)
  • GM benötigt etwas mehr Leistung von der CPU. Das sollte normal sein.
  • Wenn ich aber selber CS:GO zocke, dann nur mit GM. Die Latenz wäre mir einfach sonst zu hoch.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: polyphase und Tanzmusikus
Also würde es ja eigentlich besser sein, einfach den CPU-governor auf "Performance" umzustellen & gut.
Nach dem Gaming dann wieder auf "Powersave" zurückstellen. Mache ich unter Windows nicht anders.
 
  • Gefällt mir
Reaktionen: polyphase
Tanzmusikus schrieb:
Über 50% Auslastung ist doch ziemlich viel.
Je nach Anwendung ist die CPU da wahrscheinlich am Limit bzw. knapp drunter.
Also ich würde sagen da ist noch viel Luft:
auslastung1.png


agon schrieb:
Currently GameMode includes support for optimisations including:
  • CPU governor
  • I/O priority
  • Process niceness
  • Kernel scheduler (SCHED_ISO)
  • Screensaver inhibiting
  • GPU performance mode (NVIDIA and AMD), GPU overclocking (NVIDIA)
  • Custom scripts
Das scheint aber aktuell mit den 6er Kerneln eher weniger zu funktionieren.
Bzw. verschlechtert die Performance sogar!
Ergänzung ()

Tanzmusikus schrieb:
Also würde es ja eigentlich besser sein, einfach den CPU-governor auf "Performance" umzustellen & gut.
Nach dem Gaming dann wieder auf "Powersave" zurückstellen. Mache ich unter Windows nicht anders.
Also quasi so, wie ich es schon die ganze Zeit gemacht hatte.

Ein CoreCTRL Profil erstellt:
corectrl1.png

Dort die Grafikkarte auf "Hoch" festgenagelt:
corectrl2.png

Und dort die CPU auf Max. Leistung festgenagelt:
corectrl3.png

Dann brauche ich nur noch, den Schalter von Bild 1 zu beträtigen, wenn ich spielen will,
nach dem spielen, einfach das Profil wieder deaktivieren.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Tanzmusikus
Genau. Das wäre der manuelle Weg mit GUI.

Gibt bestimmt auch noch eine Möglichkeit per Terminal...
 
polyphase schrieb:
Ich denke das der Gamemode mal bei einem Kernel der 5er Reihe wirklich was gebracht hat.
Wenn man einen aktuellen Kernel aus der 6er Reihe nimmt, sind wahrscheinlich schon viele Optimierungen im Kernel.
Das liebe ich so an Linux. Eine Version später sind Optimierungstools plötzlich nicht mehr nötig.

Eine andere Frage: wie merkt ihr euch, welche config dateien ihr manuell bearbeitet habt, wenn die nicht im home ordner liegen und daher mit einem backup mitgehen. woher wisst ihr also beim neu aufsetzen, welche dateien in /etc/ zu sichern sind (zb.: fstab, hosts usw) - abgesehn davon, das manche durch siehe oben nicht mehr nötig sind.
 
Dafür gibt's Nix. ;)
 
  • Gefällt mir
Reaktionen: Arc Angeling
Ich notiere mir alles in meiner Notizverwaltung, in meinem Fall Joplin.

Aber so viel ist es ja nicht
 
Ich sehe gerade auf meinen eigenen Screenshots, das der Speicher der RX6700XT nur mit 1000MHz läuft.

Ich hoffe das ist ein Anzeigefehler 😬
 
netzgestaltung schrieb:
Das liebe ich so an Linux. Eine Version später sind Optimierungstools plötzlich nicht mehr nötig.
Gamemode war noch nie "nötig". Die einzig sinnvolle Funktion die ich dort je gesehen habe ist die Unterstützung von AMD X3D-CPUs. Bei der Entwicklungsgeschwindigkeit des Projekts sind die CPUs aber veraltet bevor das veröffentlicht wird.

woher wisst ihr also beim neu aufsetzen, welche dateien in /etc/ zu sichern sind
Nichts ist da zu sichern, Ansible stellt das neue System genauso ein wie das alte.
 
Wochenende schrieb:
Gamemode war noch nie "nötig".
Naja, damals so um 2014 als Feral die Grid/Dirt-Teile nativ auf Linux umgesetzt hat, hatte der schon seine Bewandnis und wurde auch eigentlich nur von und für diese Spiele genutzt. Der Rest ist später daraus entstanden.
 
  • Gefällt mir
Reaktionen: polyphase und Tanzmusikus
htop zeigt wahrscheinlich neben "echten" auch virtuelle Kerne an.
 
Ja das ist mir klar, aber warum dann bei voller CPU Auslastung, dann alle Kerne als 50%?

Wäre es nicht logischer nur die ausgelasteten mit 100% anzuzeigen?

Oder habe ich einen Denkfehler?
 
Zurück
Oben