Feral Interactive har ein gjeve ut den optimale , implementert som ein bakgrunnsprosess som i løpet av drift endrar ulike systeminnstillingar i Linux for å oppnå maksimal ytelse for spelapplikasjonar. Koden for prosjektet er skrive i C og under BSD-lisens.
For spill anbefales det å bruke det spesielle biblioteket libgamemode, som lar deg be om aktivering av spesifikke optimaliseringer gjennom hele spillets kjøretid, som ikke er aktivert som standard i systemet. Det finnes også en variant av biblioteket for å kjøre spillet i automatisk optimaliseringsmodus (laste libgamemodeauto.so gjennom LD_PRELOAD ved oppstart av spillet), uten å måtte endre spillkoden. Aktivering av forskjellige optimaliseringer kan styres via en konfigurasjonsfil.
For eksempel kan GameMode deaktivere strømsparingsmoduser, endre ressursfordelingsparametere og planleggingsmetoder (CPU governor og SCHED_ISO), endre prioriteringer for inn- og utdata, blokkere oppstart av skjermsparer, aktivere forskjellige høyytelsesmoduser på NVIDIA- og AMD-GPUer, utføre overklokking av NVIDIA-GPUer, og kjøre skripter med spesifikke brukeroptimaliseringer.
I versjon 1.5 er det lagt til dynamisk endring av CPU-regulatormoduser (CPU governor) for Intel-prosessorer med innebygd GPU, dersom bruk av modusen «performance» fører til redusert ytelse i grafikk subsystemet under høy belastning på GPU. I så fall tillater en overgang til modusen «powersave» å redusere energiforbruket til CPU og frigjøre flere ressurser for GPU (CPU og GPU deler et felles strømbudsjett, og prioritert tildeling av ressurser til CPU fører til en nedsettelse av GPU-frekvensen). På CPU i7-1065G7 tillater den foreslåtte optimaliseringen en ytelsesforbedring på 25-30 % i spillet Shadow of the Tomb Raider.
I GameMode 1.5 er det også introdusert et nytt sett med D-Bus API-er, som bruker mekanismen ‘pidfd’ for å håndtere situasjoner med gjenbruk av PID (pidfd kobles til en spesifikk prosess og endres ikke, mens PID kan knyttes til en annen prosess etter at den nåværende prosessen knyttet til denne PID-en er fullført).
Kilde: opennet.ru
