Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Java]Migający ekran - optymalizacja
Dapi
post 14.06.2014, 20:18:35
Post #1





Grupa: Zarejestrowani
Postów: 186
Pomógł: 13
Dołączył: 7.08.2009

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


Witam.
Temat może luźniej związany z webmasterką, ale myślę, że można go tu podciągnąć wink.gif

Na programowanie do szkoły mam do napisania (niestety w Javie) prostą grę, którą chyba każdy zna - Węża.
Wszystko fajnie poszło, większych błędów w działaniu nie widzę, chociaż grę dopiero testuję, jednak mam problem jak mi się wydaje z optymalizacją kodu.

Z początku gra działa ładnie, w miarę płynnie. Niestety po zjedzeniu ~8 monet (a co za tym idzie wydłużeniem się węża) zaczyna migać ekran,
tzn. wszystko znika i mija chwila zanim obraz pojawi się od nowa. Mierzyłem czasy poszczególnych operacji i nie zauważyłem nigdzie wąskiego gardła.

W pierwszej wersji pozycje węża przechowywane było w tablicy i obrabiane potem pętlą for. Dawało to lepsze wyniki w testach szybkości, ale tylko
na początku, kiedy wąż miał kilka klocków. Przy dłuższym wężu lepiej sprawdza się obecne rozwiązanie oparte o stringi.

Java nie jest moją najmocniejszą stroną, dlatego zwracam się do Was z prośbą o pomoc.
Po pierwsze: z czego się ten problem bierze?
Po drugie: w jaki sposób mogę zoptymalizować jeszcze kod, żeby efekt migającego ekranu wyeliminować?


KOD PROGRAMU:
-> http://www.wklejto.pl/204183


Jako, że to projekt do szkoły, na który miałem niecałe 3 dni, a na codzień z Javą mam niewiele wspólnego, więcej uwagi skupiłem na tym,
żeby to w ogóle działało jak należy i żeby w grze nie było bugów, niż na pięknym kodzie i dobrych praktykach. Kod okomentowany, myślę,
że da się w nim połapać.

Liczę na pomoc specjalistów smile.gif

Pozdrawiam.

Ten post edytował Dapi 14.06.2014, 20:33:39


--------------------
www.dapi.net.pl - Wiele technologii, jedna pasja.
Go to the top of the page
+Quote Post
memory
post 14.06.2014, 21:41:54
Post #2





Grupa: Zarejestrowani
Postów: 616
Pomógł: 84
Dołączył: 29.11.2006
Skąd: bełchatów

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


https://www.youtube.com/watch?v=D2bJ60CKS3c
poczytaj o DoubleBuffered
Go to the top of the page
+Quote Post
Crozin
post 15.06.2014, 09:20:06
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@memory już podał odpowiedź na problem, ale... Zlituj się nad samym sobą i skorzystaj z listy punktów (List, Point), a do debugowania kod wykorzystaj debuggera i profilera - w Javie to na prawdę proste.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.10.2020 - 16:23