L'entreprise Feral Interactive a publié un optimiseur , implémenté sous forme de processus en arrière-plan, modifiant à la volée divers paramètres système Linux pour atteindre des performances optimales des applications de jeu. Le code du projet est écrit en C et sous licence BSD.
Pour les jeux, il est recommandé d'utiliser la bibliothèque spéciale libgamemode, qui permet de demander des optimisations spécifiques, non appliquées par défaut dans le système, pendant l'exécution du jeu. Une variante de la bibliothèque est également disponible pour exécuter le jeu en mode d'optimisation automatique (chargement de libgamemodeauto.so via LD_PRELOAD lors du lancement du jeu), sans nécessiter de modifications du code du jeu. L'activation des optimisations peut être contrôlée via un fichier de configuration.
Par exemple, avec GameMode, il est possible de désactiver les modes d'économie d'énergie, de modifier les paramètres de distribution des ressources et de planification des tâches (CPU governor et SCHED_ISO), de réorganiser les priorités d'entrée/sortie, de bloquer le démarrage de l'économiseur d'écran, d'activer divers modes de performances améliorées sur les GPU NVIDIA et AMD, et de procéder à l'overclocking des GPU NVIDIA, ainsi que de lancer des scripts avec des optimisations définies par l'utilisateur.
dans la version 1.5, il a été ajouté un changement dynamique du régulateur de mode CPU (CPU governor) pour les processeurs Intel avec GPU intégré, si l'utilisation du mode « performance » entraîne une baisse des performances du sous-système graphique sous forte charge GPU. Dans ce cas, passer en mode « powersave » permet de réduire la consommation d'énergie du CPU et de libérer davantage de ressources GPU (CPU et GPU partagent un budget d'alimentation commun et la priorité accordée aux ressources CPU entraîne une réduction de la fréquence GPU). Sur le CPU i7-1065G7, l'optimisation proposée permet d'augmenter les performances du jeu Shadow of the Tomb Raider de 25 à 30 %.
Dans GameMode 1.5, un nouvel ensemble d'API D-Bus est également présenté, appliquant le mécanisme 'pidfd' pour gérer la situation de réutilisation des PID (pidfd est associé à un processus spécifique et ne change pas, tandis que le PID peut être lié à un autre processus après la fin du processus actuel associé à ce PID).
Source : opennet.ru
