GameDev

Оптимізація: ТОП-8 способів підвищити продуктивність гри

Способи підвищити продуктивність гри

ТОП-8

Способи підвищити продуктивність гри ТОП-8

В епоху надзвичайно потужних комп’ютерів, коли під капотом звичайного домашнього ПК десятки ядер і відеокарта, здатна трасувати промені в реальному часі, багато розробників забувають про оптимізацію. Навіщо витрачати час, адже у геймера, напевно, просунутий пристрій, і різниці, швидше за все, він навіть не помітить?

Однак на практиці такий підхід може стати причиною того, що на слабких, а іноді навіть на потужних комп’ютерах гри починають гальмувати та вилітати. Щоб цього не допустити, розглянемо 8 основних способів підвищення продуктивності.

Спосіб 1. Видалення зайвих об'єктів

Спосіб 1. Видалення зайвих об'єктів

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

Насправді в ігровому процесі можна знайти, що видалити. Наприклад, це можуть бути:

  • уламки;
  • гільзи;
  • сліди пострілів на стінах;
  • повалені вороги;
  • пройдені перешкоди, якщо говорити про різні раннери та багато іншого.

Якщо залишити все як є, то через кілька хвилин геймплею, у міру заповнення оперативної пам’яті, гра почне помітно зависати і в результаті просто вилетить з повідомленням «Close programs to prevent information loss».

Що саме видаляти залежить від особливостей кожного окремого проєкту. Наприклад, у шутері Half-Life від гільз можна сміливо позбавлятися — там вони грають лише декоративну роль, а ось у детективних іграх, пов’язаних із розслідуваннями, вони можуть відігравати ключову роль.

Однак трапляються випадки, коли вирішити цю проблему «легальними» способами практично неможливо, наприклад в іграх з можливістю перемотування часу, де пам’ять має зберігати всю інформацію за період, куди персонаж може переміститися в минуле. Тут є кілька рішень: скоротити доступний період переміщення в часі, мінімізувати кількість об’єктів, чи піти на «брудні» прийоми, як зробили творці гри Super Time Force.

Оптимізація: ТОП-8 способів підвищити продуктивність гри

Спосіб 2. Вимкнення відображення об'єктів

Спосіб 2. Вимкнення відображення об'єктів

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

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

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

Однак цей же ефект можна використовувати і в своїх цілях. Хороший практичний приклад у цьому випадку реалізований у грі The Witcher 3: в одній з локацій є статуї, які переміщуються в просторі, поки на них ніхто не дивиться.

Оптимізація: ТОП-8 способів підвищити продуктивність гри

Спосіб 3. Зниження деталізації

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

З технічного погляду тут є кілька підходів:

  • зменшення кількості полігонів;
  • зниження роздільної здатності текстур;
  • відключення шейдерів та інше.

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

Спосіб 4. Розміщення пріоритетів якості

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

Оптимізація: ТОП-8 способів підвищити продуктивність гри

Спосіб 5. Оптимізація ассетів

В іграх завжди варто віддавати пріоритет використанню ассетів, які займають найменше місця: стислі текстури, low-poly об’єкти тощо. Часто кожен ассет можна додатково оптимізувати, щоб він привабливо виглядав в ігровому просторі, проте для цього може знадобитися допомога досвідченого 3D-художника.

Спосіб 6. Економічна робота з тінями, світлом та відображеннями

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

Якщо говорити про тіні, то краще постаратися скоротити кількість об’єктів із динамічними тінями.

Оптимізація: ТОП-8 способів підвищити продуктивність гри

Спосіб 7. Кешування

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

Спосіб 8. Розподіл навантаження

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

Що ще потрібно знати під час оптимізації гри

Що ще потрібно знати під час оптимізації гри

Оптимізація гри можлива лише до якихось розумних меж. Тобто, портувати Elden Ring в комп’ютер з оперативною пам’яттю 2 Гб – просто фізично не вийде.

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

Останні роботи

Створюємо дивовижні проєкти

Останні роботи

Кращим підтвердженням нашої кваліфікації та професіоналізму є історії успіху наших клієнтів і відмінності в їх бізнесі до і після співпраці з нами.

Наші клієнти

Що про нас кажуть

Наші клієнти Що про нас кажуть

Успішні проєкти створюються тільки командою

Наша команда

Успішні проєкти
створюються тільки командою Наша команда

(Ru) Photo 11
(Ru) Photo 10
Photo 9
Photo 8
Photo 7
Photo 6
Photo 5
Photo 4
Photo 3
Photo 2
Photo 1
(Ru) Photo 12

Зв'яжіться з експертами

З'явилися питання?

Зв'яжіться з експертами З'явилися питання?

+
@
Згода на обробку персональних даних

Користувач, оформляючи заявку на сайті https://avada-media.ua/ (далі – Сайт), погоджується з умовами цієї Згоди на обробку персональних даних (далі – Згода) відповідно до Закону України “Про захист персональних даних”. Прийняттям (акцептом) оферти Згоди є відправка заявки з Сайту або замовлення у Оператора за телефонами Сайту.

Користувач дає свою згоду на обробку своїх персональних даних з наступними умовами:

  1. Дане Згода дається на обробку персональних даних як без, так і з використанням засобів автоматизації. </ Li>
  2. Згода поширюється на наступну інформацію: ПІБ, телефон, електронна пошта. </ Li>
  3. Згода на обробку персональних даних дається з метою надання Користувачу відповіді на заявку, подальшого укладення та виконання зобов’язань за договорами, здійснення клієнтської підтримки, інформування про послуги, які, на думку Оператора, можуть представляти інтерес для Користувача, проведення опитувань і маркетингових досліджень . </ li>
  4. Користувач, надає Оператору право здійснювати наступні дії (операції) з персональними даними: збір, запис, систематизація, накопичення, зберігання, уточнення (оновлення, зміну), використання, знеособлення, блокування, видалення і знищення, передача третім особам, з згоди суб’єкта персональних даних і дотриманням заходів, що забезпечують захист персональних даних від несанкціонованого доступу. </ li>
  5. Персональні дані обробляються Оператором до завершення всіх необхідних процедур. Також обробка може бути припинена за запитом Користувача на електронну пошту: info@avada-media.com.ua </ li>
  6. Користувач підтверджує, що, даючи Згода, він діє вільно, своєю волею і в своєму інтересі. </ Li>
  7. Справжнє Згода діє безстроково до моменту припинення обробки персональних даних з підстав, зазначених у п.5 даного документа. </ Li>
    </ Ol>
Долучайтеся до нас

Надіслати резюме

+
@