Kompania Feral Interactive publikimi i optimizuesit , i realizuar si një proces në sfond, që ndërron në kohë reale cilësime të ndryshme të sistemit Linux për të arritur performancën maksimale të aplikacioneve të lojërave. Kodi i projektit është shkruar në gjuhën C dhe në bazë të licencës BSD.
Për lojërat, rekomandohet përdorimi i një biblioteke të veçantë libgamemode, e cila lejon kërkesën për aktivizimin e optimizimeve të caktuara gjatë ekzekutimit të lojës, të cilat nuk aplikohen si standard në sistem. Ka gjithashtu një version të bibliotekës për të ekzekutuar lojën në modin automatik të optimizimit (ngarkimi libgamemodeauto.so përmes LD_PRELOAD gjatë fillimit të lojës), pa nevojën e ndryshimeve në kodin e lojës. Aktivizimi i optimizimeve të ndryshme mund të kontrollohet përmes një skedari konfigurimi.
Për shembull, përmes GameMode mund të çaktivizohen modet e kursimit të energjisë, të ndryshohen parametrat e shpërndarjes së burimeve dhe planifikimit të detyrave (CPU governor dhe SCHED_ISO), të ri-përcaktohen prioritetet e hyrjes/ndihmës, të bllokohet startimi i përkrahësit të ekranit, të aktivizohen modet e performancës së lartë në GPU NVIDIA dhe AMD, të kryhet overclocking i GPU NVIDIA, dhe të ekzekutohen skriptet me optimizime të caktuara nga përdoruesi.
В выпуске 1.5 добавлена динамической смены регулятора режимов CPU (CPU governor) для процессоров Intel со встроенным GPU, если использование режима «performance» приводит к проседанию производительности графической подсистемы при высокой нагрузке на GPU. В этом случае переход на режим «powersave» позволяет снизить энергозатраты CPU и высвободить больше ресурсов GPU (CPU и GPU предоставлен совместный бюджет питания и приоритетное выделение ресурсов CPU приводит к урезанию частоты GPU). На CPU i7-1065G7 предложенная оптимизация позволяет поднять производительность игры Shadow of the Tomb Raider на 25-30%.
В GameMode 1.5 также представлен новый набор D-Bus API, применяющий механизм ‘pidfd’ для обработки ситуации с повторным использованием PID (pidfd связывается с конкретным процессом и не меняется, в том время как PID может быть привязан к другому процессу после завершения текущего процесса, ассоциированного с этим PID).
Burimi: opennet.ru
