Ocena silnika gry gry java rpg/morpg

1

Filmiki pokazujące postęp.

0

Ciekawy wygląd, czemu tylko ~37fps? Jakiej biblioteki do grafiki użyłeś/aś ?

1

Widzę grafikę z gier Nintendo :)

0
bolson napisał(a):

Ciekawy wygląd, czemu tylko ~37fps? Jakiej biblioteki do grafiki użyłeś/aś ?

Mam limitowany fps na +/- 40. Biblioteka swing :-) + kilka moich przeróbek.

0

Mhm :) czyli rysujesz bezpośrednio na JPanel ?

0
bolson napisał(a):

Mhm :) czyli rysujesz bezpośrednio na JPanel ?

Canvas ;)

0

Jaki procek i jakie zużycie w takim razie?

0
Wibowit napisał(a):

Jaki procek i jakie zużycie w takim razie?

1,86 2 rdzeniowy maksymalne zużycie procesora przy wczytywaniu mapy 128x128 43% przez +/- 5 sekund.
W trakcie rysowania maksymalnie 10-15 %

0

Sorki za double posta ale:
Może ktoś wie jak wyłapywać co pobiera pamięć, ponieważ:
Po załadowaniu mapki JVM bierze sobie 25 mb... po 10-20 sekundach (10X gc()) pobiera tylko 10 mb pamięci...

0

Jeśli używasz HotSpota jako JVM to dodaj "-verbosegc -XX:+PrintGCDetails" do linii komend. W innych VMkach będą inne przełączniki. Zobacz też czy masz narzędzie VisualVM.

0
Wibowit napisał(a):

Jeśli używasz HotSpota jako JVM to dodaj "-verbosegc -XX:+PrintGCDetails" do linii komend. W innych VMkach będą inne przełączniki. Zobacz też czy masz narzędzie VisualVM.

Mam Analizera na eclipsie tylko on mi pokazuje tylko co pobiera głównie pamięć i mi wypisuje że inty albo inne ogólne typy.
Ja chciałbym żeby mi pokazało co zostało zwolnione,usunięte,dodane w danym czasie. Np wtedy gdy zwalnia się te 14 mb to co to robi że się zwalnia i czy nie dało by się tego przyśpieszyć jakoś NP zwalnia 5 mb przez zwolnienie obiektów z listy bla bla.

1
[Full GC (System) [Tenured: 0K->338K(10240K), 0.0397173 secs] 1295K->338K(14848K), [Perm : 694K->694K(12288K)], 0.0398240 secs] [Times: user=0.03 sys=0.00, real=0.04 secs] 
URL:  file:/C:/Users/Robson/Desktop/P-C%20game/Client/data/tileset/animation.seq
[GC [DefNew: 4160K->507K(4672K), 0.0145857 secs] 4498K->3406K(14912K), 0.0146651 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
[GC [DefNew: 2812K->0K(4672K), 0.0020300 secs] 5710K->3357K(14912K), 0.0020839 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC [DefNew: 2622K->1K(4672K), 0.0102406 secs] 5980K->5919K(14912K), 0.0103082 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
[GC [DefNew: 2603K->2K(4672K), 0.0004220 secs] 8520K->5919K(14912K), 0.0004665 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC [DefNew: 2589K->3K(4672K), 0.0063257 secs] 8506K->8480K(14912K), 0.0064032 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
[GC [DefNew: 2581K->3K(4672K), 0.0006521 secs] 11058K->8480K(14912K), 0.0007009 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC [DefNew: 4163K->512K(4672K), 0.0049457 secs] 12640K->9899K(14912K), 0.0049990 secs] [Times: user=0.02 sys=0.00, real=0.01 secs] 
[Full GC (System) [Tenured: 9387K->8023K(10240K), 0.0420048 secs] 10665K->8023K(14912K), [Perm : 1683K->1683K(12288K)], 0.0422788 secs] [Times: user=0.03 sys=0.00, real=0.04 secs] 
[GC [DefNew: 5082K->640K(6080K), 0.0063490 secs] 13105K->10073K(19452K), 0.0064348 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
[GC [DefNew: 6080K->640K(6080K), 0.0183173 secs] 15513K->13042K(19452K), 0.0183795 secs] [Times: user=0.02 sys=0.00, real=0.02 secs] 
[GC [DefNew: 6078K->640K(6080K), 0.0101584 secs][Tenured: 14855K->14673K(15004K), 0.0463979 secs] 18480K->14673K(21084K), [Perm : 1683K->1683K(12288K)], 0.0569348 secs] [Times: user=0.06 sys=0.00, real=0.06 secs] 
[GC [DefNew: 9612K->154K(11072K), 0.0087471 secs] 24285K->17867K(35528K), 0.0088311 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
[GC [DefNew: 9699K->1216K(11072K), 0.0173942 secs] 27413K->22076K(35528K), 0.0174672 secs] [Times: user=0.02 sys=0.00, real=0.02 secs] 
[Full GC (System) [Tenured: 20860K->24426K(24456K), 0.0954245 secs] 28324K->24426K(35528K), [Perm : 1750K->1748K(12288K)], 0.0959214 secs] [Times: user=0.09 sys=0.00, real=0.10 secs] 
[Full GC (System) [Tenured: 24426K->24449K(40712K), 0.0526341 secs] 25293K->24449K(59144K), [Perm : 1779K->1779K(12288K)], 0.0527512 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 24449K->25815K(40712K), 0.0573079 secs] 27175K->25815K(59144K), [Perm : 1820K->1820K(12288K)], 0.0575248 secs] [Times: user=0.06 sys=0.00, real=0.06 secs] 
[Full GC (System) [Tenured: 25815K->25857K(43028K), 0.0526769 secs] 26827K->25857K(62484K), [Perm : 1823K->1823K(12288K)], 0.0528356 secs] [Times: user=0.06 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25857K->25802K(43028K), 0.0973267 secs] 26841K->25802K(62484K), [Perm : 1823K->1823K(12288K)], 0.0974636 secs] [Times: user=0.09 sys=0.00, real=0.10 secs] 
[Full GC (System) [Tenured: 25802K->25818K(43028K), 0.0598293 secs] 26092K->25818K(62484K), [Perm : 1823K->1823K(12288K)], 0.0599358 secs] [Times: user=0.03 sys=0.00, real=0.06 secs] 
[Full GC (System) [Tenured: 25818K->25834K(43028K), 0.0514593 secs] 26108K->25834K(62484K), [Perm : 1823K->1823K(12288K)], 0.0515715 secs] [Times: user=0.06 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25834K->25850K(43028K), 0.0577311 secs] 26124K->25850K(62484K), [Perm : 1823K->1823K(12288K)], 0.0578414 secs] [Times: user=0.05 sys=0.00, real=0.06 secs] 
[Full GC (System) [Tenured: 25850K->25802K(43028K), 0.0519724 secs] 26140K->25802K(62484K), [Perm : 1823K->1823K(12288K)], 0.0520799 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25802K->25820K(43028K), 0.0524164 secs] 26786K->25820K(62484K), [Perm : 1831K->1831K(12288K)], 0.0525336 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25820K->25837K(43028K), 0.0522758 secs] 26805K->25837K(62484K), [Perm : 1831K->1831K(12288K)], 0.0523976 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25837K->25853K(43028K), 0.0526118 secs] 26127K->25853K(62484K), [Perm : 1831K->1831K(12288K)], 0.0527233 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25853K->25804K(43028K), 0.0540379 secs] 26143K->25804K(62484K), [Perm : 1831K->1831K(12288K)], 0.0541665 secs] [Times: user=0.06 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25804K->25820K(43028K), 0.0521845 secs] 26094K->25820K(62484K), [Perm : 1831K->1831K(12288K)], 0.0522988 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25820K->25837K(43028K), 0.0523956 secs] 26111K->25837K(62484K), [Perm : 1831K->1831K(12288K)], 0.0525126 secs] [Times: user=0.06 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25837K->25853K(43028K), 0.0561511 secs] 26127K->25853K(62484K), [Perm : 1831K->1831K(12288K)], 0.0562439 secs] [Times: user=0.06 sys=0.00, real=0.06 secs] 
[Full GC (System) [Tenured: 25853K->25804K(43028K), 0.0532640 secs] 26143K->25804K(62484K), [Perm : 1831K->1831K(12288K)], 0.0533714 secs] [Times: user=0.06 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25804K->25820K(43028K), 0.0577596 secs] 26094K->25820K(62484K), [Perm : 1831K->1831K(12288K)], 0.0578638 secs] [Times: user=0.05 sys=0.00, real=0.06 secs] 
[Full GC (System) [Tenured: 25820K->25836K(43028K), 0.0530984 secs] 26110K->25836K(62484K), [Perm : 1831K->1831K(12288K)], 0.0532136 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25836K->25852K(43028K), 0.0507219 secs] 26126K->25852K(62484K), [Perm : 1831K->1831K(12288K)], 0.0508348 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25852K->25804K(43028K), 0.0510127 secs] 26142K->25804K(62484K), [Perm : 1831K->1831K(12288K)], 0.0511276 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25804K->25820K(43028K), 0.0489837 secs] 26094K->25820K(62484K), [Perm : 1831K->1831K(12288K)], 0.0490919 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25820K->25837K(43028K), 0.0524414 secs] 26111K->25837K(62484K), [Perm : 1831K->1831K(12288K)], 0.0525648 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25837K->25853K(43028K), 0.0684579 secs] 26821K->25853K(62484K), [Perm : 1831K->1831K(12288K)], 0.0685359 secs] [Times: user=0.08 sys=0.00, real=0.07 secs] 
[Full GC (System) [Tenured: 25853K->25804K(43028K), 0.0519562 secs] 26143K->25804K(62484K), [Perm : 1831K->1831K(12288K)], 0.0520652 secs] [Times: user=0.06 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25804K->25820K(43028K), 0.0517678 secs] 26094K->25820K(62484K), [Perm : 1831K->1831K(12288K)], 0.0518847 secs] [Times: user=0.06 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25820K->25836K(43028K), 0.0519553 secs] 26110K->25836K(62484K), [Perm : 1831K->1831K(12288K)], 0.0520626 secs] [Times: user=0.06 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25836K->25852K(43028K), 0.0520809 secs] 26126K->25852K(62484K), [Perm : 1831K->1831K(12288K)], 0.0521991 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25852K->25804K(43028K), 0.0522547 secs] 26142K->25804K(62484K), [Perm : 1831K->1831K(12288K)], 0.0523651 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25804K->25820K(43028K), 0.0518321 secs] 26094K->25820K(62484K), [Perm : 1831K->1831K(12288K)], 0.0519535 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25820K->25837K(43028K), 0.0519622 secs] 26110K->25837K(62484K), [Perm : 1831K->1831K(12288K)], 0.0520781 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25837K->25853K(43028K), 0.0593914 secs] 26126K->25853K(62484K), [Perm : 1831K->1831K(12288K)], 0.0594937 secs] [Times: user=0.06 sys=0.00, real=0.06 secs] 
[Full GC (System) [Tenured: 25853K->25804K(43028K), 0.0531148 secs] 26143K->25804K(62484K), [Perm : 1831K->1831K(12288K)], 0.0532290 secs] [Times: user=0.06 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25804K->25820K(43028K), 0.0525980 secs] 26094K->25820K(62484K), [Perm : 1831K->1831K(12288K)], 0.0527181 secs] [Times: user=0.06 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 25820K->25837K(43028K), 0.0573238 secs] 26110K->25837K(62484K), [Perm : 1831K->1831K(12288K)], 0.0574411 secs] [Times: user=0.06 sys=0.00, real=0.06 secs] 
[Full GC (System) [Tenured: 25837K->20683K(43028K), 0.0887235 secs] 26126K->20683K(62484K), [Perm : 1831K->1831K(12288K)], 0.0888670 secs] [Times: user=0.09 sys=0.00, real=0.09 secs] 
[Full GC (System) [Tenured: 20683K->20660K(43028K), 0.0877183 secs] 20973K->20660K(62484K), [Perm : 1831K->1822K(12288K)], 0.0878670 secs] [Times: user=0.08 sys=0.00, real=0.09 secs] 
[Full GC (System) [Tenured: 20660K->20676K(43028K), 0.0524266 secs] 20950K->20676K(62484K), [Perm : 1822K->1822K(12288K)], 0.0525320 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 20676K->20691K(43028K), 0.0526477 secs] 21659K->20691K(62484K), [Perm : 1822K->1822K(12288K)], 0.0528198 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 20691K->20708K(43028K), 0.0545217 secs] 21675K->20708K(62484K), [Perm : 1822K->1822K(12288K)], 0.0546402 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 20708K->20661K(43028K), 0.0529254 secs] 20998K->20661K(62484K), [Perm : 1822K->1822K(12288K)], 0.0530570 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 20661K->13113K(43028K), 0.0638480 secs] 20951K->13113K(62484K), [Perm : 1822K->1822K(12288K)], 0.0639847 secs] [Times: user=0.06 sys=0.00, real=0.06 secs] 

Tutaj wariat zwalnia 7 mb na raz.
[Full GC (System) [Tenured: 13113K->13129K(43028K), 0.0516290 secs] 13402K->13129K(62484K), [Perm : 1822K->1822K(12288K)], 0.0517530 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] 
[Full GC (System) [Tenured: 13129K->13144K(43028K), 0.0537728 secs] 13419K->13144K(62484K), [Perm : 1822K->1822K(12288K)], 0.0538899 secs] [Times: user=0.03 sys=0.00, real=0.05 secs] 
0

Primo:
W Javie nie ma delete ani free, referencje nie zawierają liczników, dlatego jeśli zrobisz cośtam = null to Java nie wie czy poprzednio wskazywany obiekt został osierocony czy jeszcze nie. Dlatego ciężko stwierdzić w którym miejscu naprawdę zwalniasz obiekty.

Secundo:
Zależy ci na przepustowości czy na opóźnieniach? Domyślnie chyba HotSpot jest odpalany z odśmiecaczem, który jest nastawiony na wysoką przepustowość, ale i długie pauzy. Jeśli chcesz niskie czasy odśmiecania to wybierz Garbage-First Collector i ustaw mu niski czas na odśmiecanie.

0
Wibowit napisał(a):

Primo:
W Javie nie ma delete ani free, referencje nie zawierają liczników, dlatego jeśli zrobisz cośtam = null to Java nie wie czy poprzednio wskazywany obiekt został osierocony czy jeszcze nie. Dlatego ciężko stwierdzić w którym miejscu naprawdę zwalniasz obiekty.

Secundo:
Zależy ci na przepustowości czy na opóźnieniach? Domyślnie chyba HotSpot jest odpalany z odśmiecaczem, który jest nastawiony na wysoką przepustowość, ale i długie pauzy. Jeśli chcesz niskie czasy odśmiecania to wybierz Garbage-First Collector i ustaw mu niski czas na odśmiecanie.

Dzięki wielkie :)

Btw, silnik będzie open source jak dokończę dokumentacje

1 użytkowników online, w tym zalogowanych: 0, gości: 1