Чому гальмують ігри і що з цим робити

У той час, коли словом «гра» стали описувати ожилу мультиплікацію на екрані комп’ютера, люди не знали, що таке плавний геймплей і графіка рівня некстген. Головними залишалися сюжет і впізнаваність, тому що поліпшити графіку не дозволяла продуктивність платформ того часу. З появою потужних систем ігри практично перетворилися на фільми зі справжніми акторами та реалістичним оточенням.

Завзяті гравці намагаються зібрати систему з топових комплектуючих, але сучасні ігрові проєкти також вимагають доопрацювання й оптимізації програмного коду. Іноді недоліки комплектуючих і коду проявляються одночасно і призводять до нестабільної роботи, гальм і фризів. Проблеми можуть бути як на стороні користувача, так і розробників. Так чи інакше, плавний геймплей потрібен тільки гравцеві, тому його основне завдання — розібратися, чому висне гра і зрозуміти, як це виправити.

Комплектуючі, периферія та ПЗ працюють у рамках стабільності, адже будь-яка запчастина комп’ютера розрахована на стандартні умови. У такому режимі програми працюють без помилок, ігри без просідань і система не підведе користувача під час кодування відеороликів або написання магістерської роботи. Але навіть повністю стабільну збірку можна вивести з себе, якщо навантажувати не один вузол, а відразу всі. Зробити це можна спеціальним навантажувальним софтом або вимогливими іграми. Тоді завдання лунає всім комплектуючим, де навіть дрібний недолік може стати причиною BSOD, фризів, посмикувань і низького FPS в іграх.

Звідси з’явився вираз «гальмує» — комп’ютер не справляється з тим навантаженням, з яким справлявся раніше або повинен справлятися за своїми технічними характеристиками. Просідання кадрів, низький середній фреймрейт і довге завантаження рівнів — це те, що залежить від стабільності та якості роботи буквально кожної запчастини, а також софту робочої машини. Це можна знайти і виправити, якщо знати, що до чого. Тому представляємо свого роду атлас комп’ютерних нутрощів, який допоможе зорієнтуватися і зрозуміти — що налаштовувати, а що міняти.

Апаратні проблеми

Процесор

Комп’ютер влаштований за типом «зірка»: всі вузли пов’язані між собою через центральний процесор. Він перший потрапляє під відповідальність за нестабільну поведінку і швидкість роботи в іграх. За допомогою деяких показників можна дізнатися, криється причина гальм у ньому чи потрібно трясти інші запчастини.

Процесор троттліт. Під час тривалого навантаження процесор може перегріватися і знижувати робочу частоту ядер, щоб повернути температуру до безпечного значення. У нашому випадку це одна з причин гальм в іграх — нижча частота, гірша продуктивність.

Перевірити легко: навантажуємо CPU за допомогою тесту стабільності, стежимо за температурою і частотою ядер. Сучасні камені розраховані на стабільну роботу до 90-100 градусів, тому при досягненні цих цифр частота може знижуватися.

Рішення: змінити термопасту, підібрати потужну систему охолодження і частіше прибирати пил у системнику.

Процесор перевантажений. У простих завданнях, зокрема казуальних іграх, комп’ютер «літає», але запуск вимогливих завдань «вішає» систему і дає просідання в продуктивності. Тоді виснуть не тільки ігри, а й браузери та офісні програми.

Перевірити легко: потрібно простежити за рівнем завантаження процесора в різних завданнях. Наприклад, якщо під час гри чип завантажений на 100 %, імовірно, його потужності мало — можна викликати процесор на серйозну розмову.

Рішення: підібрати новий процесор із більшою потужністю на ядро (IPC) або розігнати старий. Про те, як розігнати процесори Intel і AMD розповідали в статтях Клубу.

Процесор відпочиває. Якщо процесор завантажується всього на 40-60 %, і при цьому все гальмує, потрібно шукати причину в інших комплектуючих.

Відеокарта

Друга за важливістю частина ігрового тандему — відеокарта. Вона відповідає за обробку графіки: фоторедактори, відеоредактори, прискорення опрацювання сторінок у браузері і, звісно, ігри. Від її потужності залежить кількість кадрів за секунду і загальне враження від гри.

Ігри гальмують не відразу. Перша причина гальм в іграх — це перегрів відеочіпа. Як і процесор, він сильно нагрівається під навантаженням і може скидати тактові частоти, якщо температура підходить до максимальних значень. У такому разі графік кадрів починає «стрибати» разом із частотою чипа, а звідси і гальмівна поведінка в іграх після прогріву.

Перевірити легко: ставимо високі налаштування графіки, граємо 5-10 хвилин і стежимо за температурою і частотою. Якщо температура не припиняє підніматися і долає позначку в 75-80 градусів (для актуальних поколінь настільних прискорювачів цього вже достатньо), то частота почне знижуватися до базових значень, минаючи правила TurboBoost. До речі, гру можна замінити на вовняний FurMark.

Рішення: зайнятися системою охолодження — очистити від пилу радіатор відеокарти, перевірити роботу вентиляторів і змінити термопасту. Не забуваємо про хорошу продувність корпусу.

Ігри гальмують відразу. Розробники ігор завжди надають інформацію про системні вимоги проєкту, які дають змогу грати на високих налаштуваннях із комфортним рівнем FPS. Однак, варто розуміти, що це усереднені значення, і для кожної збірки потрібно підбирати правильні налаштування графіки. Звичайно, якщо це не топовий графічний монстр RTX 3080 і його аналоги.

Перевірити легко: орієнтуємося на клас відеокарти і системні вимоги. Логічно, що GTX 1060 уже не потягне новинки на високих навіть у 1080р, як це було з минулими проектами (наприклад, Відьмак 3). Зате RTX 3070 буде спокійно грати в Cyberpunk 2077 на максимальних налаштуваннях з роздільною здатністю 1440p, водночас графік кадрів не повинен опускатися нижче 60 навіть у найбільш навантажених сценах.

Рішення: якщо потужності відеокарти недостатньо, то доведеться замінити її на нову і потужнішу, або розігнати стару (за можливості, враховуючи хороше охолодження).

Оперативна пам’ять

Наступний підозрюваний у справі про гальмівні ігри — ОЗП. В оперативній пам’яті зберігаються ігрові дані, текстури та моделі, які готові переміститися у відеопам’ять на вимогу. Відповідно, якщо ця частина комп’ютера працює не так, як потрібно сучасним іграм — чекай гальм.

Мало пам’яті. Для повсякденної роботи комп’ютер використовує тільки власний обсяг оперативної пам’яті. Коли зростає навантаження, і програмі необхідно ще більше пам’яті, система може звернутися до буфера (файл підкачки) на системному диску. У цьому разі застарілі дані вивантажуються з ОЗП на диск, а нові записуються в оперативку. Відповідно, якщо грі необхідно 6 Гб вільної пам’яті, а на комп’ютері всього 8 Гб, і 2 Гб уже зайнято системою і програмами, то для нормальної роботи комп’ютера доведеться скидати дані з ОЗП на диск. А це повільна пам’ять, яка не забезпечує потрібну швидкість передачі даних, особливо для ігор.

Перевірити легко: сучасним іграм необхідно щонайменше 16 Гб оперативної пам’яті, з яких для запуску системи залишається не більше 14 Гб.

Рішення: докупити ще один комплект оперативної пам’яті або замінити на більш ємні моделі.

Низька швидкість передавання даних. Оперативна пам’ять, як і диск, зберігає в собі дані. Відповідно, тут так само є швидкості читання, запису і копіювання, від яких залежить загальна продуктивність комп’ютера, зокрема в ігрових навантаженнях. Словом — чим швидше, тим краще. Занадто низькі швидкості однозначно знижують продуктивність збірки в іграх. Наприклад, можливостей стандарту DDR3 вже не вистачає для нових ААА-проектів.

Перевірити легко: запускаємо тест AIDA Memory Test і дивимося, які цифри з’являться у віконцях Read, Write і Copy.

Рішення: актуальні системи з оперативною пам’яттю типу DDR4 показують від 40 000 МБ/с за всіма показниками, чого цілком достатньо для всіх завдань. Але існують комплекти пам’яті із заводським розгоном (XMP), при активації якого можна підвищити частоту і знизити таймінги. Це добре для будь-яких завдань.

Оперативна пам’ять може давати збої і помилки, які не вішають систему повністю, а лише знижують продуктивність. Тому необхідно перевірити ОЗП за допомогою програми MemTest86 або TestMem5. Особливо, якщо вона працює в розгоні.

Накопичувач

Під час ігрового навантаження комп’ютер звертається до оперативної пам’яті за часто використовуваними даними. Водночас на диску зберігається основна частина ресурсів, звідки вони поступово довантажуються в ОЗП. Швидкості звичайного HDD вже замало для плавної роботи ігор з текстурами високої роздільної здатності, а також ігор з відкритим світом. Якщо в певний момент грі знадобляться файли з дальнього кута HDD, гальма і фризи супроводжуватимуть гравця весь час, поки потрібні файли не завантажаться у високошвидкісну оперативку.

Легко перевірити: розробники рекомендують використовувати твердотільні накопичувачі SSD, у яких швидкість обробки даних у рази вища, ніж у вінчестерів. Відповідно, ігри, встановлені на SSD, рідше фризять і гальмують, а також завантажуються набагато швидше.

Рішення: мати під рукою хоча б звичайний SATA SSD для ігор.

Як і оперативна пам’ять, будь-який SSD-накопичувач може мати биті чіпи, пошкоджені сектори або контролери, тому необхідно обов’язково «прогнати» поверхню диска на биті комірки. Це можна зробити за допомогою програм Victoria або HDDScan.

Інше обладнання

Крім основних комплектуючих, збоїти можуть і інші. Блок живлення видає високий або низький вольтаж, що сильно впливає на стабільність, особливо дискової підсистеми. Також у комфортному геймінгу можуть брати участь чіпсети на материнських платах, які відвалюються, і навіть монітори, які виставляють неправильну частоту розгортки і провокують розриви картинки. Усе це позначається на якості картинки і плавності геймплея.

Програмні проблеми

Операційна система

Поширена проблема більшості робочих та ігрових машин — багато зайвих програм, половина з яких знаходиться в автозавантаженні операційної системи. Звідси додаткова витрата оперативної пам’яті, постійне завантаження процесора і часті звернення до жорсткого диска. Крім того, разом із потрібними файлами з інтернету можуть заявитися і віруси. Деякі шкідники тихо прописуються на жорсткий диск і чекають зоряного часу, а інші відразу атакують систему. Наприклад, вірус-майнер вмикає фоновий видобуток криптовалюти як на відеокарті, так і на процесорі. Відповідно, в таких умовах ігри не просто гальмують — вони перетворюються на слайд-шоу.

Рішення: захистити комп’ютер від мережевих атак і шкідливого ПЗ за допомогою антивіруса.

Драйвери

Для правильної роботи кожного вузла в комп’ютері потрібен набір інструкцій, який називається драйвером. Від нього залежить усе — як визначиться обладнання, чи буде воно працювати повноцінно і чи буде воно взагалі працювати. Найчастіше випуск нових версій ПЗ супроводжується величезним списком виправлених багів, а разом з цим можуть бути і нові помилки — людський фактор ніхто не відміняв. У такому разі, криві бібліотеки для роботи відеокарти можуть запросто «покласти» комп’ютер на лопатки.

Наприклад, з оновленням драйвера компанія Nvidia додала підтримку нових ігор — Assassin’s Creed Valhalla і включила підтримку нових функцій для Cyberpunk 2077. Водночас, деякі частини коду стали працювати зі збоями: драйвер Nvidia 461.09 містить помилку, яка не дає змоги графічним редакторам редагувати RAW-фотографії з прискоренням на відеокарті. Те ж саме може стосуватися і багів в іграх.

Висновок: користуємося перевіреним софтом і не поспішаємо оновлюватися на найостанніші версії програм.

Оптимізація ігор

Для адекватної роботи програми потрібно написати універсальний код, який буде зрозумілий будь-якій системі на потрібній архітектурі. Але для того, щоб витиснути максимум із потужності комп’ютера, софт має знати підхід до кожної моделі процесора, відеокарти та інших комплектуючих. Наприклад, усі художники однаково малюють картини. Але в одного швидше виходять портрети, а в іншого пейзажі. Відповідно, можна поділити стилі порівну, виходячи з умінь майстрів, і робота піде набагато швидше.

Так і з комп’ютерними іграми — якщо раз працівники постаралися пояснити ігровому рушію те, як потрібно працювати з цим шестиядерним процесором або тією відеокартою, то якість графіки та кількість кадрів за секунду вийдуть значно вищими, ніж у проєкту з універсальним кодом.

Такого роду оптимізація застосовується під час написання движків для ігрових приставок — там завжди однакові комплектуючі, тому стає набагато простіше оптимізувати код під конкретний пристрій. З комп’ютерами все трохи складніше — тут десятки моделей процесорів, відеокарт, накопичувачів, а також зайвий прошарок у вигляді операційної системи.

Кульгава оптимізація — також прерогатива свіжих проектів. З кожним новим патчем розробники дофарбовують код і прибирають сміття, після чого продуктивність в іграх зростає.

Гальмує — не означає повільно

Іноді фризи і дрібні просідання сприймаються як гальма, хоча на ці події впливає не потужність комп’ютера, а стабільність. Так, середній кадр може крутитися близько класичних 60 одиниць, але гра все одно буде смикатися і підвисати.

У цьому замішані значення 0.1 і 1 % кадрів. Усі показники FPS можна заміряти за допомогою софта CapFrameX: якщо 0.1 і 1 % низькі, то проблема може бути в оптимізації софта або апаратних проблемах, а це можна виправити руками. Якщо ж низький показник середньої кількості кадрів за секунду — то, найімовірніше, не вистачає потужності основних комплектуючих і без апгрейда тут не обійтися.

Що робити

Стабільна робота і плавний геймінг — основні завдання ігрової збірки. Від налаштувань комплектуючих залежить те, наскільки добре вони відпрацюють максимум, який позначений для них заводом. Цей максимум, до речі, може бути обмежений «кривим» софтом, нестабільними драйверами або просто старою операційною системою з повним реєстром хвостів і купкою вірусів у кутку диска.

У комп’ютері можна навести чистоту і порядок — причому як у системнику, так і на диску. Однак, це не завжди вирішує проблему з продуктивністю. Найчастіше гальмують свіжі ігри на дво- або трирічних системах. Тому спочатку потрібно подивитися на апаратні характеристики. І тут є два виходи: розганяти або підбирати оновлення. Якщо комп’ютер досить потужний і в іграх бракує кількох кадрів на секунду, то розгін виправить ситуацію. Якщо ми говоримо про просідання до 20-30 кадрів, то без апаратного апгрейда не обійтися.

Якщо ж старі та перевірені ігри стали показувати меншу продуктивність на тій же системі, з тими ж налаштуваннями — думаємо про софт. Імовірно, цей збоїть драйвер або у фоні системи висить занадто багато програм, які відбирають цінні флопси потужності під час гри.