-
Notifications
You must be signed in to change notification settings - Fork 0
Performanse
Umjesto klasične provjere samog koda te broja petlji i same složenosti koda odlučili smo se poslužiti Unity alatom Profiler koji omogućuje prikaz korištenja resursa tijekom izvršavanja programa. Na taj način puno je lakše provjeriti koji dio je kritičan te ukoliko je spor i neadekvatan potrebno je napraviti nekakve optimizacijske promjene. Izvršavanje pojedinih skripti je vrlo bitno jer zbog takvih stvari dolazi do variranja FPS-a. Što duže traju određene skripte to je FPS manji. FPS ovisi i o mnogim drugim stvarima kao npr. snaga procesora i slično no ovdje ćemo se fokusirati na igru.
Različitim bojama označeni su različiti dijelovi koje procesor mora izvršiti kako bi igra radila. U gornjem lijevom kutu slike je popis boja i komponenti. Može se uočiti kako igrica u većem dijelu ima FPS oko 200 što u prijevodu znači da je za svo izvršavanje skripti, renderinga i slično potrebno ukupno oko 5ms. Također bitno je primijetiti određene vršne vrijednosti koje se periodično pojavljuju zbog igrača. Ispod grafa može se vidjeti točno koje skripte zauzimaju koliko vremena unutar glavne dretve programa. U ovom slučaju skoro sve skripte vezane su za samog igrača te provjera njegove pozicije u vremenu svaki frame. Neka moguća optimizacijska rješenja su podijeliti te zadatke u više dretvi ili optimizirati samu skriptu. U ovom konkretnom slučaju ukoliko se želi poboljšati responzivnost igrice bolje rješenje je podijeliti program u više dretvi.
Slika ispod prikazuju korištenje te alokaciju same memorije tijekom izvršavanja. Može se primijetiti kako se memorija alocira na početku te nema puno promjena. Memorija je kroz cijeli program konstantna. Na slici se također može vidjeti i točno na koje se sve stvari dijeli. Ukoliko se želi koristiti manje memorije potrebno bi bilo optimizirati skripte i koristiti manje varijabli ali u ovom slučaju većina memorije je zauzeta od strane sustava tako da s te strane nema problema.
Na ovoj slici možemo vidjeti što najviše zauzima vremena što se tiče samog user interface-a i možemo primijetiti kako je to kanvas koji služi za health igrača. Njegovo korištenje je zanemarivo malo.
Unity profiler nudi još puno ostalih mogućnosti kao što su to performanse tijekom komunikacije sa serverom i preko interneta. Korištenje fizike, zvuka, animacija i videa te svakakve ostale mogućnosti. Ovaj alat vrlo je koristan pri složenijim projektima gdje se koristi puno resursa te je potrebno optimizirati gotovo svaki dio koda. Za naše potrebne postojeće skripte su vrlo pristojnih performansi.