
Нередко можно наблюдать что в заставке у вас 800 fps, в самой игре не больше сорока и то если на экране мало движущихся объектов. При этом высоких значений можно добиться лишь в том случае, если отключить вертикальную синхронизацию для игры. На LCD мониторах из-за разницы между частотой монитора и FPS, выводимыми на него видеокартой картинка отображается с разрывами и артефактами. Именно из-за скачков в несколько сотен fps за считанные секунды. Проблему решает вертикальная синхронизация (vSync) «подгоняющая» fps под частоту монитора. Если частота вашего монитора — 60 Hz, то значение FPS будет в пределах 60-ти. То есть не выше, так как большее количество фреймов ваш монитор всё равно не обработает и будет пропускать. Но это не мешает им сваливаться до 20-ти. При этом видеокарта пытается удержать их на значении равном частоте монитора. В результате нагрузка на видеокарту возрастает, теплоотдача увеличивается, производительность падает. В некоторых играх производительность может быть даже ниже, чем при отключённой опции vSync.
Кроме того факта, что монитору в 60 Hz всё равно сколько сотен FPS передаёт ему видеокарта и больше 60-ти он не обработает, лишние FPS заметно перегружают старые карты, из-за чего они сильно греются.
В некоторых игра в настройках можно выбрать значение 60 или 30 fps. Иногда эти настройки спрятаны в конфигурационный файл и в меню не отображаются. Но чаще всего игра оставляет это на усмотрение опции vSync, включённой либо в самой игре, либо на стороне драйвера видеокарты. В настройках же видеокарты от производителя нет опции, позволяющей указать произвольное значение FPS, хотя технически никаких видимых препятствий этому нет. В видеокартах nVidia под Windows есть опция «Adaptive V-Sync», которая устанавливает значение FPS в половину значения частоты монитора (60 Hz — 30 FPS, 120 Hz — 60 FPS), но при этом отключается контроль разрывов и картинка выглядит практически так же, как и при отключённой vSync. Средствами стороннего плагина можно установить значение в 30 FPS и избавиться от разрывов. К сожалению плагин не обновлялся с 2016-го года. В версии драйвера 3ХХ оно ещё работало. В новой линейке 4ХХ нет видимых изменений в панели nVidia, так что плагин может по-прежнему работать, но кто знает, как долго ещё.
Под Linux есть стороннее решение «
Для работы в Debian / Ubuntu потребуются следующие пакеты:
libc6-dev-i386
gcc-multilib
ia32-libs
OpenSUSE:
glibc-devel-32bit
gcc
gcc-32bit
Скачиваем и распаковываем исходники в любую удобную директорию. Переходим в эту директорию, собираем и устанавливаем:
cd /путь_до_папки_с_исходниками
make
sudo make install
На момент написания этой статьи, для Arch / Manjaro уже собранный пакет есть в
yaourt -S libstrangle-git
Для запуска игры с произвольным лимитом нужно запустить её следующей командой:
strangle 30 /path/to/game
Где «/path/to/game» - путь до файла, с которого запускается игра. Игра будет запущена с лимитов в 30 fps. Вы можете указать любое значение, не превышающее частоту вашего монитора. Равное значение тоже не имеет смысла, так как vSync итак это делает. Если игра установлена через Wine, то команда будет иметь следующей вид:
strangle 30 wine /path/to/game.exe
Если игра установлена через Wine, но с помощью какой-то вспомогательной программы, то смотрите куда ссылается ярлык игры. В случае с PlayOnLinux, создайте через него ярлык на .exe файл, запускающий игру и посмотрите в его свойствах команду, которой запускается игра. Например:
strangle 30 /usr/share/playonlinux/playonlinux --run "The Sims 3"
PoL установлен стандартно, "The Sims 3" — имя созданного ярлыка игры. То есть первая часть всегда будет неизменной, тогда как имя ярлыка будет зависеть от установленной игры. Тот же подход должен работать и в случае с коммерческим CrossOver.
Напишите .sh скрипт под каждую игру, чтоб не запускать их через терминал.

strangle 30 %command%
Где 30 — количество FPS. Таким образом игра, запущенная из любого места в Steam, или с созданного им ярлыка будет запущена с указанным лимитом на FPS.
Из личного опыта могу заметить, что в играх с хорошей оптимизацией 30 fps выглядят лучше, чем 60 с постоянным сваливанием, а в играх, в которых оптимизация оставляет желать лучшего, коих большинство, лимит в 30 fps увеличивает производительность. Во всех случаях лимит в половину от возможностей монитора снижает нагрузку на видеокарту и значительно снижает теплоотдачу, что особенно заметно на устаревших ПК и ноутбуках.
___
Tatyana K.
Tatyana K.