Îmbunătățirea performanței unui joc mobil în Unity

Jocurile de pe mobil au evoluat destul de mult în ultimii ani, de la jocuri simple 2D la oferirea unei experiențe 3D complete. Dar, în ciuda acestui fapt, are încă o putere de procesare limitată, așa că pentru a oferi o experiență de joc fluidă, trebuie luate unele considerații în ceea ce privește alegerile de design.

Mai jos sunt primele 5 puncte de analizat pentru a îmbunătăți performanța pe dispozitivele mobile atunci când dezvoltați în Unity:

Evitați transparența

Pixel overdraw este destul de costisitor și ar putea reduce drastic framerate-ul pe dispozitivele mobile. Pentru a preveni acest lucru, evitați utilizarea Transparent Shaders sau, practic, orice Shader care conține transparență (ex. Particle Shaders).

Pentru geometrie opac folosiți Shaders din categoria Mobile.

Evitați umbrele în timp real

Umbrele în timp real ar putea părea grozave, dar necesită o putere de procesare destul de mare. Deci, cel mai bine este să le coaceți în Lightmaps.

Utilizați loturi statice pentru a reduce apelurile la extragere

Static Batching este o modalitate de a permite Unity să combine obiecte statice împreună, ceea ce la rândul său va reduce numărul de apeluri Draw, îmbunătățind astfel performanța de randare.

Pentru a activa lotul static, marcați toate obiectele statice din Scenă ca "Batching Static", apoi accesați Editare -> Setări proiect... -> Player și asigurați-vă că este bifată Lotarea statică.

Utilizați loturi dinamice cu prudență

Loturile dinamice sunt oarecum controversate. Pe de o parte, permite Unity să combine obiecte dinamice în mai puține obiecte, potențial îmbunătățind performanța, dar pe de altă parte, trebuie să facă acest lucru pentru fiecare cadru care ar putea afecta performanța.

În general, este mai bine să dezactivați Dynamic Batching atunci când vizați platforme mobile.

Evitați utilizarea OnGUI

OnGUI vă permite să creați rapid UI utilizator din cod, dar este foarte lent în comparație cu UI Canvas, așa că utilizați-l numai pentru prototipuri.