Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Pinsirus
Založen: 13. 01. 2016 Příspěvky: 37 Bydliště: Slovensko
|
Zaslal: 30. červen 2016, 11:01:30 Předmět: Ako optimalizovat rychlost hry pre dany procesor? |
|
|
Zdravim, prednedavnom sa mi naskytol problem. Programoval som hru na staršom laptope (jeden z prvych i3 procesorov, 2 jadra) a prešiel som na destkop (i5-4jadro). Samozrejme som si neuvedomil zmenu v procesoroch a tak hra bežala dost rychlo-všetko sa hybalo priliš rychlo atd. (kedže timery boli nastavene na stary procesor). Ako predidem takym vecom? Aby hra bežala rovnako na roznych konfiguraciach?
Pozn. timery som použil v nekonečnom while cykle ako inkrementacie premennych
Napr. if(spawn>200){
game.spawnEnemy();
spawn=0;}
|
|
Návrat nahoru |
|
|
Deluxe
Založen: 31. 07. 2007 Příspěvky: 235 Bydliště: Oslavany
|
Zaslal: 30. červen 2016, 11:13:30 Předmět: |
|
|
Takhle to vypadá, že jsi měl čekání implementované pomocí "delay loop", nebo něčeho podobného - založeného na rychlosti CPU.
Tomu je potřeba se vyhnout a místo toho použít funkce OS, nebo nějaké knihovny pro měření reálného času: takže něco jako (clock_gettime - linux/posix - https://blog.habets.se/2010/09/gettimeofday-should-never-be-used-to-measure-time) nebo ve windows třeba GetTickCount (https://msdn.microsoft.com/en-us/library/windows/desktop/ms724408(v=vs.85).aspx), nebo lépe QueryPerformanceCounter/Frequency (https://msdn.microsoft.com/en-us/library/windows/desktop/dn553408(v=vs.85).aspx)
Taky může pomoci mrknout na implementaci hlavní smyčky hry (http://gafferongames.com/game-physics/fix-your-timestep/) - s fixním časem na snímek se docela zjednoduší simulace a odpadnou některé problémy.
Tvůj příklad by se pak vyřešil např. tak, že si uložíš do promněnné čas za jaký má nastat spawn a pak v každém snímku hry od té promněnné odečteš reálný uplynulý čas - a když je hodnota <= 0 je čas na spawn (<= 0 je důležité, protože se krok simulace nemusí trefit přesně)
Mimochodem, pokud dám URL "https://msdn.microsoft.com/en-us/library/windows/desktop/ms724408(v=vs.85).aspx" do URL tagu zmizí celý text příspěvku... |
|
Návrat nahoru |
|
|
Ladis
Založen: 18. 09. 2007 Příspěvky: 1536 Bydliště: u Prahy
|
Zaslal: 30. červen 2016, 14:09:34 Předmět: |
|
|
Deluxe napsal: |
Mimochodem, pokud dám URL "https://msdn.microsoft.com/en-us/library/windows/desktop/ms724408(v=vs.85).aspx" do URL tagu zmizí celý text příspěvku... |
OT: Protože tohle fórum je 11 let stará verze, tak to neumí nový věci, jako závorky v URL (kdybys jó chtěl, tak je můžeš ručně nahradit za procentové znaky). Ale nejjednodušší je na [url] kašlat, beztak všechno kromě IE a Edge umí otevírat i plaintext linky (vývoj IE už skončil a Edge nikdo nechce používat, tak je můžeš ignorovat).
Jinak OPův problém bych chápal před 10-15 lety, ale dnes, kdy každý má počítač, mnozí i víc jak jeden (např. doma a v práci) - a on to nikdy na jiném nespustil? |
|
Návrat nahoru |
|
|
Pinsirus
Založen: 13. 01. 2016 Příspěvky: 37 Bydliště: Slovensko
|
|
Návrat nahoru |
|
|
|
|
Nemůžete odesílat nové téma do tohoto fóra Nemůžete odpovídat na témata v tomto fóru Nemůžete upravovat své příspěvky v tomto fóru Nemůžete mazat své příspěvky v tomto fóru Nemůžete hlasovat v tomto fóru
|
Powered by phpBB © 2001, 2005 phpBB Group
Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna