Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML5][JS] Rożna prędkość gry
trollman
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 14.12.2012

Ostrzeżenie: (0%)
-----


Witam,
Mam problem, gdyż robie grę w html5 oraz javascript i płynność gry zalezy jakby od mocy komputera (z tego co zaobserwowałem)

Pętla gry wygląda tak:
  1. if (state)
  2. gLoop = setTimeout(GameLoop, 1000 / 60);
  3. };


i w GameLoop dziają różne akcje, jak nasłuchwianie klwiszy, rysowanie i renderowania grafiki itd...
Gdy grę uruchamiam na komputerze, chodzi płynniutko, ale gdy włącze ja (oczywiscie w tej samej przeglądarce) na starym laptopie gra chodzi jakby była na 10 fps'ach.

Da się temu jakoś zapobiec?

Ten post edytował trollman 9.12.2014, 13:29:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
PrinceOfPersia
post
Post #2





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

Ostrzeżenie: (0%)
-----


Cytat
Gdy grę uruchamiam na komputerze, chodzi płynniutko, ale gdy włącze ja (oczywiscie w tej samej przeglądarce) na starym laptopie gra chodzi jakby była na 10 fps'ach.

1. może jest na 10 FPSach? Weź sprawdź ile faktycznie masz klatek na sekundę. To że nastawiłeś na tyle to nic nie znaczy.

2. możesz uniezależnić ruch od FPSów. Mierzysz ile faktycznie upłynęło czasu między obecną klatką a klatką poprzednią a potem wszelki ruch mnożysz przez wartość czasu.

czyli coś jak (pseudokod):

Kod
UPDATE:
    timeDelta =  now - lastTime
    ...
    platform.x += someCalculations * timeDelta    
    platform.y += 1 * timeDelta    
    ...
    lastTime = now

tym sposobem jeśli obiekt ma przemierzyć 600 pikseli (przykładowo) w czasie jednej sekundy, to i tak to zrobi, niezależnie czy będzie 10 czy 60 klatek na sekundę (bez tego przy mniejszych FPSach by wolniej chodził).

Jednak to ci nie powiększy FPSów, a jedynie dokona korekty ruchu. Być może będzie trzeba zrobić jakąś optymalizację, bo może gdzieś masz coś, co ci zamula.
(testuj też w różnych przeglądarkach - ta sama gra na Chrome może szybciej działać niż na Firefoxie).

Ten post edytował PrinceOfPersia 9.12.2014, 22:11:26
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 20:59