Olá pessoal,
Estou utilizando um algoritmo clássico de computação gráfica flood-fill.
O problema é que se eu tenho que pintar mais de uma região há um congelamento exporádico da JVM.
Olá pessoal,
Estou utilizando um algoritmo clássico de computação gráfica flood-fill.
O problema é que se eu tenho que pintar mais de uma região há um congelamento exporádico da JVM.
Em qual superfície você está pintando? Computação gráfica precisa de desempenho, então se você pintar em cima da gdi sua aplicação vai coletar muito lixo, ocasionando essas pausas terríveis. O ideal é utilizar o hardware para pintar.
Graphics utiliza a gdi;
Graphics2D utiliza opengl, portanto vai usar sua placa de vídeo.
VolatileImage também é acelerada no hardware.
As duas últimas são as mais adequadas para isso.
Detalhe: O coletor de lixo é o seu pior inimigo nessa área. Os desenvolvedores de jogos preferem usar compiladores que geram código nativo(pascal, c++, c…) por isso. Portanto, deve trabalhar a lógica para criar bons algoritmos que resolvam o problema da melhor maneira possível.
Em qual superfície você está pintando? Computação gráfica precisa de desempenho, então se você pintar em cima da gdi sua aplicação vai coletar muito lixo, ocasionando essas pausas terríveis. O ideal é utilizar o hardware para pintar.
Pois é eu estou utilizando um framework chamado Processing.
Estou pintando um Objeto PImage.
To inclinado a voltar e refazer isso em C/C++ com Opencv.
Em qual superfície você está pintando? Computação gráfica precisa de desempenho, então se você pintar em cima da gdi sua aplicação vai coletar muito lixo, ocasionando essas pausas terríveis. O ideal é utilizar o hardware para pintar.
Pois é eu estou utilizando um framework chamado Processing.
Estou pintando um Objeto PImage.
To inclinado a voltar e refazer isso em C/C++ com Opencv.
Tenta usar o Graphics2D ou VolatileImage. Se puder faça um profiler da aplicação com o netbeans ou a jvisualvm para detectar gargalos.
Eu imagino que c++ seria a melhor opção para esse tipo de aplicação.
Ferramentas e IDEs para c++ aconselho o qt. É Opensource:
Obrigado por responder.