Feral Interactive veröffentlichung des optimierers , realisiert als Hintergrundprozess, der verschiedene Systemeinstellungen von Linux zur Maximierung der Leistung von Spieleanwendungen in Echtzeit ändert. Der Code des Projekts ist in C geschrieben und unter der BSD-Lizenz stehen.
Für Spiele wird empfohlen, die spezielle Bibliothek libgamemode zu verwenden, die es ermöglicht, während des Spielens bestimmte Optimierungen abzurufen, die standardmäßig im System nicht aktiviert sind. Es gibt auch eine Variante der Bibliothek, um Spiele im Modus der automatischen Optimierung auszuführen (laden von libgamemodeauto.so über LD_PRELOAD beim Start des Spiels), ohne Änderungen am Spielcode vornehmen zu müssen. Die Aktivierung bestimmter Optimierungen kann über eine Konfigurationsdatei gesteuert werden.
Zum Beispiel können mit GameMode Energiesparmodi deaktiviert, die Ressourcenzuteilung und die Prozessorkontrolle (CPU-Governor und SCHED_ISO) geändert, die Prioritäten von Ein-/Ausgabe-Operationen angepasst, der Bildschirmschoner blockiert sowie verschiedene Leistungsmodi für NVIDIA- und AMD-GPUs aktiviert und das Übertakten von NVIDIA-GPUs durchgeführt werden. Benutzerdefinierte Optimierungen können über Skripte gestartet werden.
In der Version 1.5 wurde dynamisches Umschalten des CPU-Governors für Intel-Prozessoren mit integriertem GPU hinzugefügt, wenn der Einsatz des Modus „performance“ zu einem Leistungsabfall der Grafikschnittstelle bei hoher GPU-Last führt. In diesem Fall ermöglicht der Wechsel in den Modus „powersave“ eine Reduzierung des CPU-Stromverbrauchs und die Freigabe weiterer GPU-Ressourcen (CPU und GPU haben ein gemeinsames Energiebudget, und eine priorisierte Ressourcenzuteilung an die CPU führt zu einer Verringerung der GPU-Frequenz). Mit der vorgeschlagenen Optimierung auf der CPU i7-1065G7 kann die Leistung des Spiels Shadow of the Tomb Raider um 25-30 % gesteigert werden.
In GameMode 1.5 wird auch ein neues D-Bus-API-Set eingeführt, das den Mechanismus ‘pidfd’ verwendet, um die Wiederverwendung von PID zu verwalten (pidfd ist mit einem bestimmten Prozess verbunden und bleibt unverändert, während PID nach Abschluss des aktuellen Prozesses, der mit diesem PID assoziiert ist, einem anderen Prozess zugeordnet werden kann).
Quelle: opennet.ru
