1
Vývoj / Java - vykreslování (ideálně Swing)
« kdy: 01. 12. 2014, 16:56:34 »
Zdravim,
řešim následující problém: mám po mapě na mapě rozmístěné uzly, které sou různě propojeny cestami. Mezi těmito uzly cestují objekty. Uzlů je řádově tisíce a pohybujících se objektů řádově stovky. Uzly a cesty jsou neměnné (resp. jejich polohy). Přemýšlím nad nejlepším způsobem vykreslení, prozatím mám impementovanou takovou brute-force metodu, překreslovací cyklus vypadá takhle:
for(Cesta c: Cesty)
c.vykresli
for(Uzel u: Uzly)
u.vykresli
for(Pohyb p: PohybObjekty)
p.vykresli
Přijde mi ale zbytečný překreslovat znova celou mapu, když se mění jen těch několik pohybujích se objektů. Napadlo mě si mapu uzlů vykreslit do BufferedImage a výslednej překreslovací cyklus by pak vypadal asi takhle:
vykresli BufferedImage na JPanel
for(Pohyb p: PohybObjekty)
p.vykresli
Chtěl bych se zeptat na vaše návrhy řešený, případně alespoň směr, kterym bych se měl vydat. Napadla mě spritová grafika, ale netušim jestli má Java nějakou implementaci.
řešim následující problém: mám po mapě na mapě rozmístěné uzly, které sou různě propojeny cestami. Mezi těmito uzly cestují objekty. Uzlů je řádově tisíce a pohybujících se objektů řádově stovky. Uzly a cesty jsou neměnné (resp. jejich polohy). Přemýšlím nad nejlepším způsobem vykreslení, prozatím mám impementovanou takovou brute-force metodu, překreslovací cyklus vypadá takhle:
for(Cesta c: Cesty)
c.vykresli
for(Uzel u: Uzly)
u.vykresli
for(Pohyb p: PohybObjekty)
p.vykresli
Přijde mi ale zbytečný překreslovat znova celou mapu, když se mění jen těch několik pohybujích se objektů. Napadlo mě si mapu uzlů vykreslit do BufferedImage a výslednej překreslovací cyklus by pak vypadal asi takhle:
vykresli BufferedImage na JPanel
for(Pohyb p: PohybObjekty)
p.vykresli
Chtěl bych se zeptat na vaše návrhy řešený, případně alespoň směr, kterym bych se měl vydat. Napadla mě spritová grafika, ale netušim jestli má Java nějakou implementaci.