Ne dessiner que les pixels qui changent
Bonjour à tous,
J'ai un JPanel, disons de 300x300 pixels. Dans ce panel, je dessine une série de pixels définis dans un tableaux.
Code:
1 2 3 4 5 6 7 8 9
|
class Pixel {
int x
int y
Color color
boolean changed // si x et y n'ont pas changé
}
List<Pixel> pixels = ... |
Pour dessiner mes pixels dans mon panel, j'utilise la méthode repaint() :
Code:
1 2 3 4 5 6
|
while(true) {
bougePositions(pixels) // faite bouger les pixels
repaint()
Thread.sleep(millis)
} |
Or Ca va donc redessiner tout mon écran a chaque boucle. Or plus j'augmente la vitesse de la boucle, plus mon écran scintille. Du coup je cherche la bonne méthodologie pour ne redessiner que les pixels qui ont changé...
Code:
1 2 3 4 5 6 7
|
while(true) {
bougePositions(pixels) // faite bouger les pixels
//repaint()
repaintOnlyChanged() // un truc comme ça...
Thread.sleep(millis)
} |