Olá pessoal, estou na fase praticamente final de desenvolvimento do meu TCC.
É um sistema que produz mapas temátcos.
Ele funciona normalmente, porém quando eu carrego um mapa com muitos polígonos (estou utilizando a classe GeneralPath para desenhar devido a precisão dos valores) a interface fica muito lenta pois tenho que realizar vários repaint’s devido a funções como por exemplo mover o mapa e o meu computador é recente.
Gostaria de saber se tem como otimizar o desenho de polígonos no Java2D ou se existe uma biblioteca disponível que otimize esse processo de renderização.
Acho que OpenGL não ajudaria muito pois teria que adaptar praticamente todo o meu projeto, gostaria de uma solução mais fácil do que utilizar OpenGL.
Creio que deve haver uma alternativa.
[quote=vmsb11]Olá pessoal, estou na fase praticamente final de desenvolvimento do meu TCC.
É um sistema que produz mapas temátcos.
Ele funciona normalmente, porém quando eu carrego um mapa com muitos polígonos (estou utilizando a classe GeneralPath para desenhar devido a precisão dos valores) a interface fica muito lenta pois tenho que realizar vários repaint’s devido a funções como por exemplo mover o mapa e o meu computador é recente.
Gostaria de saber se tem como otimizar o desenho de polígonos no Java2D ou se existe uma biblioteca disponível que otimize esse processo de renderização.
[quote=vmsb11]Olá pessoal, estou na fase praticamente final de desenvolvimento do meu TCC.
É um sistema que produz mapas temátcos.
Ele funciona normalmente, porém quando eu carrego um mapa com muitos polígonos (estou utilizando a classe GeneralPath para desenhar devido a precisão dos valores) a interface fica muito lenta pois tenho que realizar vários repaint’s devido a funções como por exemplo mover o mapa e o meu computador é recente.
Gostaria de saber se tem como otimizar o desenho de polígonos no Java2D ou se existe uma biblioteca disponível que otimize esse processo de renderização.
Você pode fazer um cache com BufferedImages. Basicamente, desenhe o polígono sobre uma BufferedImage e, em seguida, desenhe a imagem na tela. Tome o cuidado de gerar a imagem novamente apenas se o objeto mudar.
Se for testar a biblioteca que o entanglement indicou, poste aqui o resultado. Fiquei curioso.