Доступний GameMode 1.5, оптимізатор продуктивності ігор у Linux

Компанія Feral Interactive опублікувала випуск оптимізатора Режим гри 1.5, реалізованого у вигляді фонового процесу, що на льоту змінює різні системні налаштування Linux для досягнення максимальної продуктивності ігрових додатків. Код проекту написаний мовою Сі та поставляється під ліцензією BSD.

Для ігор пропонується використовувати спеціальну бібліотеку libgamemode, яка дозволяє на час виконання гри вимагати включення певних оптимізацій, які не застосовуються за умовчанням в системі. Доступний також варіант бібліотеки для запуску гри в режимі автоматичної оптимізації (завантаження libgamemodeauto.so через LD_PRELOAD при запуску гри) без необхідності внесення змін до коду гри. Увімкнення тих чи інших оптимізацій можна контролювати через конфігураційний файл.

Наприклад, за допомогою GameMode можуть вимикатися режими енергозбереження, змінюватися параметри розподілу ресурсів і планування завдань (CPU governor і SCHED_ISO), перебудовуватися пріоритети вводу/виводу, блокуватися запуск зберігача екрану, включатися різні режими підвищеної продуктивності в NVIDIA і AMD GPU і виконувати розгін GPU (overclocking), запускатись скрипти з певними користувачем оптимізаціями.

У випуску 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).

Джерело: opennet.ru

Додати коментар або відгук