OVH Cloud OVH Cloud

Graphics2D.fillRect() qui rame

1 réponse
Avatar
Deep_silence_fr
Bonjour,
Je viens d'avoir un problème qui faisait ramer mon appli et que je ne
comprends pas du tout!

Mon code, qui, en gros, affiche des cases est de ce genre :
for (i ){ // parcours des cases
for (j ){
if (tab[i][j] != null){
g2.setColor(tab[i][j].getColor());
g2.FillRect(i*TAILLE_CARRE, j*TAILLE_CARRE, TAILLE_CARRE,
TAILLE_CARRE);
}else{
g2.setColor(Color.black);
g2.FillRect(i*TAILLE_CARRE, j*TAILLE_CARRE, TAILLE_CARRE,
TAILLE_CARRE);
}
}
}

Apres de longues recherches, je me suis rendu compte que c'est le
fillRec() contenu dans mon else{} qui fait ramer abominablement mon
appli... : si je met la ligne en commentaire, l'appli tourne
normallement! :/

J'ai réglé le probleme en codant autrement, mais je suis quand mm un
peu etonné... Quelqu'un ici a il deja constaté une bizarrerie de ce
genre?

Note : j'utilise le compilateur Eclipse 3.0.0, avec Java 1.42_06...

1 réponse

Avatar
burma
C'est un peu etonnant, le fillRect est une opération généralement trés
rapide(surtout qu'il s'agit d'afficher une couleur unie).

Combien dessines-tu de carré noir dans ta boucle ?
Combien dessines-tu de carré de couleur ?
Quel est en gros la taille de tes carrés ?

Manu.

Deep silence wrote:
Bonjour,
Je viens d'avoir un problème qui faisait ramer mon appli et que je ne
comprends pas du tout!

Mon code, qui, en gros, affiche des cases est de ce genre :
for (i ){ // parcours des cases
for (j ){
if (tab[i][j] != null){
g2.setColor(tab[i][j].getColor());
g2.FillRect(i*TAILLE_CARRE, j*TAILLE_CARRE, TAILLE_CARRE,
TAILLE_CARRE);
}else{
g2.setColor(Color.black);
g2.FillRect(i*TAILLE_CARRE, j*TAILLE_CARRE, TAILLE_CARRE,
TAILLE_CARRE);
}
}
}

Apres de longues recherches, je me suis rendu compte que c'est le
fillRec() contenu dans mon else{} qui fait ramer abominablement mon
appli... : si je met la ligne en commentaire, l'appli tourne
normallement! :/

J'ai réglé le probleme en codant autrement, mais je suis quand mm un
peu etonné... Quelqu'un ici a il deja constaté une bizarrerie de ce
genre?

Note : j'utilise le compilateur Eclipse 3.0.0, avec Java 1.42_06...