В Linux если программа сама себе не выставила приоритет, как либо, то будет, как все, быть на равных за время процессора.
Кратко. Процессор у нас однозадачный. То есть в единицу времени работает только одна программа. И он ОЧЕНЬ быстро умеет переключаться между ними (упрощение). Вот на вопрос, а кто следующий в очереди
На мобильном линуксе и настольном, для человека важнее, то, во что он смотрим сейчас, что слушаем и что качаем.
Так вот gamemode, ananicy-cpp, system76-scheduler решают одну и ту же задачу. Как помочь планировщику (как CPU, так и IO), в ручном режиме, понять, что важно для человека за компьютером сейчас.
system76-scheduler и ananicy-cpp работают по правилам. Есть ручные списки приложений, кому и какой приоритет задать, чтобы gnome попадал туда чаще условно и не зависал. Чтобы интерактивные приложения - игра, браузер, телеграм, code - получали приоритет над всем остальным в системе.
У system76-scheduler есть дополнительный костыль - он умеет получить приложение с фокусом через gnome расширение и так как оно ещё и про фишки popos, я сделал Zorkiy (выше пост), чтобы оставить только фокус-функцию.
gamemode же напротив работает очень жёстко. Так как мы явно говорим, что запускаем %вот эту% программу с приоритетом - он ей задирает nice(приоритет/вежливость) очень довольно высоко -4 (ananicy например -5) и меняет профили планирования на performance все, что никто больше не делает, то есть компьютер работает на максимум в этом режиме.
Так как - они все про одно и тоже. Они конфликтуют логично. Так что не нужно их смешивать намеренно.
Ну и 5 копеек про
napd он работает иначе и ближе к MacOS/Android реализации, он работает в паре с приоритетами, но не вместо. Вне фокуса начинает душить приложения, на которые пользователь не смотрит. Раз не смотрит - значит они ему ненужны и для энергосбережения, их можно сильно замедлять или останавливать. Задача куда сложнее чем кажется, так как это не Apple/Google и тут нет ручек у приложения сказать "стой, это точно нужно пользователю не тормози поток это" например для скачки файла из всего chrome. Нам нужно это понять... или забить)TL;DR: gamemode, ananicy-cpp, system76-scheduler - про то, чтобы у нас был быстрый UI всегда для пользователя и игры выдавали максмум FPS без фризов через приоритеты планировщикам.
Можете в комментариях поправлять :)