Kezdőoldal » Számítástechnika » Programozás » Hogy lehet megoldani, hogy a...

Hogy lehet megoldani, hogy a játék bizonyos fps-sel müködjön?

Figyelt kérdés

Hali, pár hónapja foglalkozom desktop alkalmazások készítésével, és van egy hobbi project :D 2d-s ugrálos játék,coin-t lehet gyűjteni..stb

Ahogy nézem a gépemen ez kb 900fps-sel fut... teljesen felesleges ennyiszer frissitenem, hogy tudom beállításan, hogy maximum 160fps lehet a képfrissitésem?


2019. szept. 19. 10:06
 1/9 A kérdező kommentje:
Közben megtaláltam :D köszi
2019. szept. 19. 10:24
 2/9 anonim ***** válasza:
milyen motorral írod amúgy?
2019. szept. 19. 13:38
Hasznos számodra ez a válasz?
 3/9 A kérdező kommentje:
Unity
2019. szept. 19. 13:55
 4/9 anonim ***** válasza:
55%

de amúgy tudsz olyat is csinálni, hogy frametől függetlenül frissítesz

tehát nem Update függvényben

ismered a FixedUpdatetet? azt betudod lőni fix frissítésre másodpercenként és akkor performanciában tudsz nyerni :)

vagy tudsz olyat tenni a az updatebe, hogy csak X időnként frissítsen

vagy ha utána nézel az ECS megoldásnak a 2018.3-as verzió óta vannak a Systemek amiknél már nem a componentbe rakod a logikát, az csak adattárolásra szolgál


szintén Unityben fejlesztek, csak gondoltam leírom, hogy tanulj belőle kicsit

2019. szept. 19. 13:59
Hasznos számodra ez a válasz?
 5/9 A kérdező kommentje:
Jhaaa koszi :D
2019. szept. 19. 15:13
 6/9 anonim ***** válasza:
43%

Jó nagy marhaság, egyrészt megközelítőleg sem fog ilyen gyorsan futni mire végzel, másrészt meg hadd döntse már el mindenki hogy akarja-e limitálni a teljesítményt, az első dolog amit pc n kiszednek minden játékból a kényszerített frame limit. De hogy válaszoljak is

Application.targetFrameRate = 160;

esetleg Update be egy

if(Application.tragetFramRate != 160){Application.tragetFramRate = 160;}

ha valami a háttérben variálná.


#4 a FixedUpdate nem erre van, ne is használjátok erre. A fizikának fontos, hogy megadott időközönként frissítsd, emiatt létezik a FixedUpdate, ha semmi köze a physx hez annak amit csinálsz akkor semmi keresnivalója a kódodnak FixedUpdate en belül. Plusz nem is érted, hogy hogy működik a FixedUpdate, ha nem tud másodpercenként 50x frissülni(ez az alapértelmezett érték) akkor megakasztja az egész játékot amíg nem végez, attól hogy x. alkalommal hív meg egy metódust FixedUpdate en belül neked lövésed sincs hogy valójában mennyi idő telt el. Ha x másodpercenként akarsz elvégezni egy feladatot akkor azt időméréssel tudod megtenni, vagy kézzel számolva vagy egy courutine ban.

2019. szept. 19. 15:38
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:
0%

#6:

Time.fixedDeltaTime :)


oké, akkor legyek én a hülye, de kicsit olvass utána annak, hogy mi a különbség az Update és FixedUpdate között a különbség és mire is használják/használhatják ezeket


de ha még okosabb akarsz lenni, akkor az Entity-Component-System újabb lépcsőinek is nézz utána Unityn belül, sokat tanulhatsz :)

2019. szept. 20. 06:47
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:

Semmit hasznosat nem mondtál most sem, bravó. :)

Tudod mit ad vissza a Time.fixedDeltaTime? Az eltelt időt két FixedUpdate között - hogy ne kelljen FixedUpdate hez nyúlnod ha csak szinkronizálni akarod amit csinálsz a fizikával. Ez miben segít a kérdezőnek?

Neked inkább ajánlom az ECS t, ha már ez összezavart az pláne magas lesz az egyelőre..

2019. szept. 20. 13:46
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:

#8:

ok, majd ha kompetens leszel talán még összefutunk, minden jót :)

2019. szept. 20. 13:50
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!