Який компонент комп’ютера винен в поганій ігровій продуктивності? Що таке «вузьке горло» або bottleneck у світі ПК, хто винен в першу чергу, та що має знати кожен фанат комп’ютерних відеоігор? А може справа взагалі не в апаратному забезпеченні? Розберімося з цим явищем за порядком.
Зміст
«Bottleneck» дослівно переклається як «горло пляшки», а світі комп’ютерів має переклад «вузьке горло», «вузьке місце». Тобто це те, що обмежує швидкість роботи системи, а точніше якийсь один компонент, через який інші працюють не на повну потужність.
Наприклад, механік зібрав автомобіль з надпотужним двигуном, але не подбав про якісну підвіску. Прямі дистанції на 400 метрів це авто проходить швидко, завжди в лідерах, але програє іншим авто в класичних перегонах на треку, адже буквально розвалюється в поворотах.
Тобто підвіска стала тим компонентом, який порушив баланс в певних умовах використання. Двигун працює ледь на половину потужності, щоб перегонник встигав вписуватися в повороти, адже авто завжди заносить.
В спільноті комп’ютерних фанатів часто кажуть: «впирається у відеокарту», «впирається в процесор», але майже ніколи не говорять про проблеми програмного характеру, в яких винні самі розробники відеоігри.
В комп’ютерах bottleneck умовно можна розділити на три категорії:
Також дехто ще вважає «вузьким горлом» оперативну пам’ять. Це не зовсім доречно у всіх випадах крім інтегрованих рішень. Наприклад, для власника AMD Ryzen 7 8700G різниця між одноканалом і двоканалом буде величезною. Вищі частоти RAM також впливають на швидкодію APU в іграх.
Швидкісна оперативка додає декілька % продуктивності в іграх, де впираємось в процесор. Для випадку, коли відеокарта завантажена на 100%, приросту від зміни ОЗП не отримаємо, зате в кіберспортивних дисциплінах це може додати від 1 до 10% FPS. Втім, чи є радість від 275 FPS, якщо без розгону ОЗП було 255 FPS?
Є ситуації, коли найпотужніші комп’ютери сучасності стають на коліна, а очі гравця сльозяться від слайд шоу і відразу незрозуміла причина таких просадок FPS. Насправді оптимізація та якість написання самої гри вирішують значно більше за будь-яке начиння.
Буває так, що топові ПК не здатні забезпечити стабільну частоту кадрів в деяких іграх, а виною цьому є криво написане програмне забезпечення. Жоден процесор сучасності чи найпотужніша відеокарта не допоможуть розв’язати проблему, про яку поговоримо нижче.
Взагалі не обов’язково (і майже неможливо) мати ідеальну збалансовану систему. Цілком нормально, коли відеокарта завантажена на 95-100%, або працює на 40-50%, як і процесор (в кіберспорті тільки так). Головне, щоб кінцевий результат, тобто продуктивність була на високому рівні.
Розгляньмо декілька різних прикладів, популярні відеоігри різних жанрів та типів, щоб зрозуміти види «вузького горла» в комп’ютерних забавках. Виявляється, що є багато ігор, які не під силу сучасному ПК преміального класу, а деякі забавки витискають з нього всі соки, змушуючи працювати, наче під час стрес-тестів.
Визначимо головних винуватців (процесор, відеокарта, рушій гри) та проаналізуємо на простих, зрозумілих прикладах. Зіграємо не лише хіти, а й маловідомі проєкти, які є зразковими для розуміння всієї проблеми ігрових рушіїв.
Перевіряли забавки на комп’ютері з процесором AMD Ryzen 9 7900 та відеокартою AMD Radeon RX 7900 XTX. Оперативна пам’ять Kingston Fury 2х16 ГБ 6000 МТ/с та CL30 з допомогою пресету MSI Memory Try It. (XMP профіль 6000CL40).
Відеоігри тестуємо з роздільною здатністю 1920x1080p, щоб показати різні види «вузького горла», а розпочнемо з найкращих ААА проєктів з найвищим рівнем оптимізації від гуру у сфері геймдеву.
Battlefield 2042 — одна з небагатьох сучасних відеоігор, яка завантажує 8, 12 чи 16 ядерні процесори на 100%, буквально. Гра вміє використовувати всі можливості центрального процесора. 12-ядерний AMD Ryzen 9 7900 працює на 85-99% в цій забавці, видаючи 250-300 FPS.
З роздільною здатністю 1080p не впираємось в можливості відеокарти, хоча вона також добряче завантажена. Якщо грати на ультра налаштуваннях графіки, то навантаження трохи виросте, на 20-25%, а перехід до роздільної здатності Ultra HD тим більше завантажить графічний процесор на повну.
Battlefield 2042 є зразково оптимізованою грою, яка показує обидва види bottleneck’у. Ця забавка обов’язково поставить на коліна якийсь з компонентів у вашому комп’ютері, залежно від процесора, відеокарти та роздільної здатності монітора.
Як вже писали вище, на середніх картах в Battlefield 2042 отримуємо 250-300 FPS. При цьому частота кадрів дуже і дуже стабільна відносно інших онлайн шутерів (і не тільки).
Наприклад, в Counter Strike на відкритих локаціях з великою кількістю гравців можна побачити 180 FPS, а в закритому коридорі на тому ж комп’ютері 400-600 FPS. При цьому завантаженість процесора незначна, в межах 15-20%, адже працює лише частина потоків. Це ознака поганої оптимізації, непрофесійних розробників та слабкого рушія гри.
Battlefield 2042 не має таких різких стрибків, зберігаючи частоту кадрів стабільною з мінімальними коливаннями. Картинка плавна, відеоряд стабільний, немає статерів, адже гра використовує всю потужність комп’ютера на повну.
FPS тримається приблизно на тому ж рівні незалежно від того де на карті знаходиться гравець, скільки противників на екрані, вибухових ефектів тощо. Це ознака гарної оптимізації, професійних розробників та якісного рушія гри.
Отже, в Battlefield 2042 «вузьким місцем» може виступити процесор або відеокарта, але аж ніяк не рушій гри, який є зразковим, ідеальним прикладом того, як гра має використовувати ресурси комп’ютера. Таких технічно крутих ігор насправді дуже мало, вимираючий вид.
Forza Horizon 5 значно простіша гра. Казуальні перегони у відкритому світі не потребують значної процесорної продуктивності, але ця забавка доволі вимоглива до відеокарти. Важко знайти систему, де не вистачає процесора для цієї гри, а графічний адаптер відпочиває.
Навіть в 1080p AMD Radeon RX 7900 XTX працює на повну потужність. Звісно, налаштування графіки EXTREME зовсім не обов’язкові, адже ультра графіка в ААА іграх непотрібна, а в більшості випадків зайва. З профілем HIGH отримали б значно більше FPS, та чи є сенс для такої гри переходити межу 200-240 кадрів за секунду?
Однозначно, Forza Horizon 5 залежна більшою мірою від GPU. Двигун гри якісний, дозволяє отримати 200+ кадрів за секунду з системою середнього класу, якщо не гнатися за трасуванням променів. Вимоги до CPU невисокі, адже достатньо 4-6 ядерного бюджетного процесора, щоб грати зі стабільно високим FPS.
Більшість однокористувацьких ігор саме такі, тобто вимагають відеокарти вищого класу, ніж процесор. Наприклад, збірка Intel Core i3-13100F + Nvidia RTX 4070 Super чудово підходить для Quad HD чи Ultra HD моніторів.
Microsoft Flight Simulator 2020 є унікальним симулятором, єдиним у своєму роді. Це дивовижна гра з неймовірно великими масштабами – карта в грі це вся наша планета Земля з мільйонами населених пунктів, сотнями мільярдів дерев та реалістичним ландшафтом.
MFS 2020 не був би таким, якби не велика дальність малювання об’єктів. З літака можна побачити будівлі, гори, ріки за десятки кілометрів. Польоти над двадцятимільйонним мегаполісом з тисячами будівель. Це чи не єдиний випадок, коли ультра графіка дійсно дає свої результати.
До чого це все? Для розробника реалізувати таку складну гру з великою кількістю об’єктів дуже важко. Наприклад, в GTA V при збільшенні дальності рендеру сильно знижується FPS (впираємось в рушій), а в MFS 2020 частота кадрів більш-менш стабільна в різних локаціях.
Проблемою залишається поганий розподіл навантаження на ядра процесора, тому в найважчих локаціях можна побачити 35-40 FPS з флагманським процесором (врятує лише генератор кадрів).
Отже, з роздільною здатністю Full HD в Microsoft Flight Simulator 2020 впираємось в можливості ігрового рушія, але чи можна винити розробників, якщо вони зробили перший та єдиний проєкт такого масштабу без натяку на конкуренцію?
З 4K монітором чи слабшим графічним прискорювачем будемо впиратися саме в можливості GPU, а не CPU. Цікаво й те, що в цьому симуляторі зустрічається bottleneck всіх видів, тому розглянемо такі конфігурації та випадки «вузького горла» для MFS 2020:
Популярність ААА (читай консольних) забавок на комп’ютерах не надто висока, тому розглянемо ще й інші, значно цікавіші приклади, де не все так однозначно. З моменту виходу DOTA 2 пройшло багато часу, сотні оновлень, десятки глобальних патчів та змін.
Гру підтримують і наповнюють контентом, адже її досі грають мільйони користувачів. Через появу нових механік, героїв, предметів, велику карту, сотень косметичних предметів з унікальними ефектами старий (як світ) двигун гри отримує додаткове навантаження і потребує оптимізації.
Насправді оптимізація відеоігор — складне завдання, яке потребує багато ресурсів, перш за все людських. Розробнику достатньо забезпечити комфортну продуктивність гри для сучасного ігрового комп’ютера, не звертаючи увагу на те, що сама гра вже 13 річної давності.
Рушій DOTA 2 показує величезні коливання частоти кадрів залежно від ситуації на екрані. На малій карті для тренування можна побачити 500+ FPS з AMD Ryzen 9 7900. Відеокарта, звісно, відпочиває з енергоспоживанням 80 Вт.
Достатньо натиснути кілька здібностей 400-550 FPS перетворюються на 200, 150, 100 FPS. На найпотужніших системах сучасності (на яких грають успішні кіберспортсмени) запросто отримаємо десятикратне падіння швидкодії, якщо на екрані з’являється багато ефектів, героїв, юнітів тощо.
Це зразковий приклад, коли «вузьким горлом» стає саме рушій гри, бо процесор звантажується на 15-25%, працюючи на половину чи третину свого TDP, розгін ОЗП майже не допомагає, а зміна відеокарти тим більше нічого не вирішує, як і тип накопичувача.
Головне, що грати такі ігри все ще можна з потужним процесором, адже падіння з 240 FPS на початку гри до 50-100 FPS в активних битвах це все ще нормально для такого жанру, де зовсім непотрібна швидка реакція, але власники старих комп’ютерів можуть мати проблеми.
Серед комп’ютерних геймерів часто зустрічаються системи з сильним «перекосом» в сторону відеокарти. Це найгірше, що може бути для кіберспорту. Більшість популярних забавок для ПК залежать перш за все від процесора, адже мають неякісні ігрові рушії з жахливою оптимізацією. Заміна ЦП на продуктивніший допоможе хоч трохи врятувати ситуацію, а відеокарта ні нащо не впливає.
Fortnite має схожу поведінку з таким самим «вузьким горлом», але стабільнішу. Розробник цієї гри стоїть вище на три голови за творців DOTA 2, тому гра поводить себе більш передбачувано.
Наприклад, висаджуємось у віддаленій місцині на карті, бачимо 400-500 FPS, вбиваємо одного гравця і кілька ботів з частотою кадрів 300-400 FPS, а зі зближенням до центру, де знаходиться більше реальних гравців та більше об’єктів в зоні видимості і частота кадрів падає до 180-250 FPS.
Однозначно з таким ПК у Fortnite також впираємось в можливості ігрового рушія, але з AMD Ryzen 9 7900 побачити 100 FPS, як в DOTA 2 (особливо з героєм Broodmother, який створює багато юнітів, які так не любить слабкий рушій), буде неможливо.
В бюджетних комп’ютерах «вузьким місцем» стане процесор, але є й рідкісні випадки, коли гравець вмикає ультра графіку (чи хоча б високу), а не найнижчу. За таких умов можна завантажити відеокарту на 100% та дати шалену перевагу противникам у видимості (саме тому всі успішні гравці грають лише з мінімальними параметрами графіки).
Lara Croft and The Guardian of Light не є онлайн грою та одночасно не є зразком оптимізації, адже зі слабкими ЦП частота кадрів запросто впаде нижче 60 FPS. На момент виходу забавка була вельми вимогливою до процесора, а наразі впираємось в можливості рушія.
Змінимо 12-ядерний AMD Ryzen 9 7900 на 12-ядерний Intel Xeon E5-2678v3 і частота кадрів впаде в кілька разів, пропорційно до продуктивності одного ядра. Тобто майже всі відеоігри такого плану, а особливо кіберспортивні, залежать від швидкодії одного ядра процесора, а не кількості ядер.
Якщо гравця цікавлять виключно кіберспортивні дисципліни, то в пріоритеті має бути сучасний процесор з якомога вищою продуктивністю Single Core, а кількість не вирішує. Наприклад, 4-ядерний Intel Core i3-14100F покладе на лопатки 8-ядерний AMD Ryzen 7 2700X в більшості відеоігор, які не вміють розподіляти навантаження на всі ядра рівномірно.
П’ятикратне падіння FPS в DOTA не лякає? Тоді поглянемо на ті ігри, де найпотужніших комп’ютерів вистачить лише для слайд-шоу, а заміна процесора може додати 2-10 FPS. Розпочнемо з українських розробників, а закінчимо модами від спільноти геймерів, які не мають знань у сфері розробки.
Рімейк Cossacks 3 став справжнім святом для фанатів класичних RTS, а також змусив багатьох фанатів задуматись над оновленням комп’ютера. Рушій гри насправді непоганий, бо підтримує величезні карти, кілометри ігрового поля з морями, островами, річками.
Також є підтримка десятків тисяч юнітів на одній карті, але з серйозним нюансом. Частота кадрів сильно залежить від віддаленості камери, кількості об’єктів на екрані та взаємодій між ними. Наприклад, починаємо гру з 350 FPS, ставимо кілька будівель та бачимо 150-190 FPS.
Зібравши кілька сотень воїнів частота кадрів падає до 100-120, а напад на вороже місто армією з 600 солдатів викликає падіння до 70, 60, 50, іноді 30-40 FPS. В запеклих онлайн матчах зі слабшим процесором (наприклад, Intel Core i5-6600) гравці змушені дивитися на слайд шоу 10-20 FPS у великих баталіях.
Залежність від процесора присутня, але лише від продуктивності на ядро, а не сумарної потужності всіх потоків. Залежності від відеокарти немає зовсім, адже для Cossacks 3 з головою вистачить інтегрованих рішень AMD чи найслабших дискретних відеокарт сучасності.
Це не єдина RTS, де рушій гри є «вузьким місцем» в системі – на фоні Козаків деякі проєкти виглядають посміховиськом. Такою стратегією є Stronghold Crusader 2. Розробникам було так начхати на своїх гравців, що вони випустили забавку з DirectX 9 у 2014 році, хоча про дев’яту версію тоді вже всі давно забули.
Рушій гри SHC2 не просто поганий, а жахливий, один з найгірших серед всіх ААА стратегій (якщо це неподобство взагалі можна вважати ААА). Здавалося б, ситуація така, як в Козаках, але масштаби гри в десятки, а іноді в сотні разів менші.
Тобто в Cossacks 3 на екрані йде битва з тисячі, двох, трьох тисяч воїнів, величезні битви, масштабні, епічні. В Crusader 2 маленька купка селян йде на іншу купку селян, FPS падає до неграбельних значень, а статери мозолять очі.
Розробники додали штучний ліміт (спільний для всіх гравців) 1000 юнітів на карту, адже чудово розуміють як погано оптимізували свій шедевр. В Stronghold Crusader 2 ігровий рушій зовсім не вміє працювати з великою кількістю об’єктів, а також не вміє завантажувати центральний процесор.
На початку гри CPU/GPU працюють в рази інтенсивніше, ніж під час облоги міста двома сотнями кінних лучників, тобто проблема виключно в оптимізації гри, в її нікчемному рушії. 10-20% CPU та нестабільні 20-50 FPS на топовому комп’ютері це ненормально. Грати неможливо через нестабільний графік фреймтайму.
Неважливо який процесор має гравець: Intel Core 2 Quad Q6600, AMD A8-7600, Intel Core i5-2500, AMD Ryzen 5 1600, Intel Core i7-13700K чи AMD Ryzen 7 7800X3D – ця гра буде «тупити» на будь-якому ПК саме через вину розробників, які допустили фундаментальні помилки на етапі розробки ігрового рушія.
Гадаєте, що це максимум, на що здатні стратегії? Коли мова заходить про моди, то ситуація стає ще гіршою. Популярна RTS Star Wars: Empire At War так сподобалася фанатам, що за 18 років було випущено чимало модів, причому масштабних.
Варто похвалити авторів аматорських модів за неймовірну працю, адже часу вони витратили дуже багато, але їх технічні знання і розуміння самої гри знаходяться на найнижчому рівні, як в типового казуального гравця.
Розробник гри встановив жорсткі обмеження на кількість космічних корабликів на полі битви, адже розуміє недоліки ігрового рушія. Він просто не вміє працювати з великою кількістю об’єктів, тому тут можна побачити двадцятикратне падіння частоти кадрів без цих обмежень.
Модифікації фанатів мають такі ключові відмінності від оригіналу:
Це все погано впливає на FPS в міру наповнення ігрового світу. На початку гри маємо 330 FPS, а лише через 10 хвилин гри з трьома комп’ютерами цей показник впав до 25 FPS. Подальший розвиток та інтенсивні бої з постійними підкріпленнями знижують цей показник до 10-15 FPS, а на слабких системах можна побачити 5 FPS.
Нагадаємо, що гра тестувалася з комп’ютером на базі AMD Ryzen 9 7900 та AMD Radeon RX 7900 XTX. Це ідеальна ілюстрація того, що ніяке апаратне забезпечення не стоїть вище програмного. Від якості написаного коду та оптимізації залежить значно більше, ніж від апгрейду ПК.
На відміну від консольних ігор, комп’ютерні ексклюзиви рідко бувають добре оптимізованими, тому гравці часто стикаються з обмеженнями ігрового рушія, а не дефіцитом потужності начиння. ПК стали надто потужними за останні кілька років інтенсивного розвитку в умовах конкуренції, але це не допомагає грати з комфортом багато відеоігор.
Деякі проєкти, як Battlefield 2042, дивують високим споживанням ресурсів ПК та одночасно високим FPS (ще й стабільним), а деякі графічно слабші забавки, як DOTA 2, просаджують частоту кадрів в 5-6 разів в деяких сценаріях.
Від цього не можна вберегтися (хіба що частково «витягує» процесор), адже гравець нічого не вирішує. Залишається сподіватися на розробників, що вони вкладуть достатньо ресурсів, часу, сил в оптимізацію забавки, а не випустять сирий продукт, який «тупить» на найпотужніших ПК сучасності.
Підсумовуючи можна зробити висновки у вигляді тез: