[JAVA]double buffer

double buffer [JAVA] - Programmation

Marsh Posté le 16-05-2001 à 14:01:06    

je dois mettre a jour l'affichage d'une applet 20 fois par seconde en 800*600 environ.
 
J'ai essayé d'utiliser un double buffer pour accelerer l'affichage, mais j'obtient un truc qui fait ramer mon ordi a mort.
 
C moi qui me suis planté, ou c le fait de faire un g.drawImage(offScreenImage,0,0,this); 20 fois par seconde qui le fait ramer ??
 
Vu que les modifs consistent uniquement a rajouter des cercles a chaque nouvel affichage, est ce que le double buffer a un interet ici ??
merci

Reply

Marsh Posté le 16-05-2001 à 14:01:06   

Reply

Marsh Posté le 16-05-2001 à 14:15:00    

tu l'as faite Runnable ton applet ?


---------------
"There's not such a thing as a stupid question, only stupid people..."
Reply

Marsh Posté le 16-05-2001 à 17:42:43    

oui elle est sous forme de thread

Reply

Marsh Posté le 16-05-2001 à 17:51:06    

essai de redessiner le minimum, par exemple avec des zones de cliping, surtout s'il y a une image en fond.


---------------
http://www.cheata.net le site qui vous donne la banane!
Reply

Marsh Posté le 16-05-2001 à 17:51:48    

Si tu n'effaces pas l'image précédente et que tu te contentes de dessiner en sur-impression, je dirais que oui, le double-buffering est inutile.
 
Sinon, pour t'aider plus, il nous faudrait ton code...

Reply

Marsh Posté le 16-05-2001 à 18:20:14    

oui en fait j'ai une image de fond et je reecris par dessus
 
pour la source je veux bien mais y en a beaucoup !!

Reply

Marsh Posté le 17-05-2001 à 13:18:47    

pour eviter que ca rame il faut eviter de redimmensionner tes images.
il faut mieux les retoucher avec un logiciel pour les mettres a la bonne taille
 
Moi ca faisait pareil avant et plus maintenant...
 
Aussi pour l'image de fond il vaut mieux plusieurs petites qu'une grande.
 
 
Pour que ca marche encore mieux tu peut utiliser un mediaTracker pour precharger les images mais je sais pas si ca marche pour les applets...
 
Bon courage :hello:

Reply

Marsh Posté le 17-05-2001 à 16:44:22    

Tu n'as pas compris l'utilite du doublebuffer..
Dans ton cas, ca n'accelere pas l'affichage
c'est juste un tip pour rendre l'affichage plus smooth
c'est a dire effectuer le trace "hors ecran" avant
de tout balancer d'un coup sur la zone d'affichage
(sinon tu vois le trace s'effectuer et si tu as trop de choses
a tracer et bien ca a tendance a clignoter..)
A+
LEGREG

Reply

Marsh Posté le 17-05-2001 à 17:09:59    

bon en fait j'ai reussi a utiliser convenablement le double buffer.
Seulement, a chaque repaint, je dois redessiner un "fond", c'est a dire une partie qui est toujours la meme.
Je me demandais si on ne pouvait pas créer une image ou un truc dans le genre a partir de ce qui est contant, ecrire sur ce fond puis le charger, pour gagner du temps. Parce qu'en fait, a chaque repaint, je redessine une partie qui est tjrs la meme

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed