Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
875 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Probleme de rafraichissement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme de rafraichissement

n°680301
glRaZ
Posté le 22-03-2004 à 16:00:56  profilanswer
 

Bonjour,
 
J'affiche une série de bitmap dans un controle Timage (C++Builder) avec une vitesse de 10 image par seconde environ. Il doit y avoir un problème au niveau du rafraichissement puisque l'image scintille par endroit.
J'utilise la méthode CreateDIBitmap pour créer mes images.
 
Merci

mood
Publicité
Posté le 22-03-2004 à 16:00:56  profilanswer
 

n°680313
therier
heu...coucou!
Posté le 22-03-2004 à 16:05:51  profilanswer
 

glRaZ a écrit :

Bonjour,
 
J'affiche une série de bitmap dans un controle Timage (C++Builder) avec une vitesse de 10 image par seconde environ. Il doit y avoir un problème au niveau du rafraichissement puisque l'image scintille par endroit.
J'utilise la méthode CreateDIBitmap pour créer mes images.
 
Merci


 
Ben je suis pas un expert, mais 10 images par secondes, c'est pas assez, non?
 
25 serait mieux, non?


---------------
XBox? http://www.gamertagdatabase.com
n°680327
youmoussa
Ecrou-vis
Posté le 22-03-2004 à 16:23:59  profilanswer
 

je connais pas c++builder, mais ce que tu décris ressemble à du flickering
 
http://bcbdev.com/faqs/faq34.htm

n°680328
glRaZ
Posté le 22-03-2004 à 16:24:43  profilanswer
 

non, je me suis mal exprimé.
ce n'est pas vraiment un probleme de scintillement... je ne sais pas trop commen dire mais on dirait que l'image clignotte. Comme si elle était affiché alors qu'elle n'a pas été chargée entièrement.
 
D'après un de mes profs, ça viendrais du fait que le rafraichissement de l'image et de l'ecran ne sont pas synchronisé... Mais comment on fait ça ??

n°680330
youmoussa
Ecrou-vis
Posté le 22-03-2004 à 16:27:59  profilanswer
 

je persiste..

n°680337
glRaZ
Posté le 22-03-2004 à 16:33:03  profilanswer
 

oui escuse moi, je répondais à therier quand tu as posté ta réponse.
Effectivement ça à l'air d'être ça... mais j'ai un peu de mal à comprendre...
Je vais essayé de creuser, merci.


Message édité par glRaZ le 22-03-2004 à 16:33:14
n°680344
HelloWorld
Salut tout le monde!
Posté le 22-03-2004 à 16:38:09  profilanswer
 

Citation :

D'après un de mes profs, ça viendrais du fait que le rafraichissement de l'image et de l'ecran ne sont pas synchronisé...


Parce qu'ils s'effectuent les 2 en parallèle ?

Citation :

Mais comment on fait ça ??


Demandes-lui...
 
Il doit faire référence à vertical retrace, chose dont on se préoccupait sous DOS.
Sous Windows, hum... j'y ai jamais réfléchi... y'a pas ce problème, je sais pas trop pourquoi. Le driver doit faire ce qu'il faut.
Les clignotements sont généralements dus au fait que la fenêtre est effacée (d'une couleur blanche...) avant d'être redessinée. Du coup, le fonc blanc apparait durant un court instant et ça flash. Essaie de désactiver une prorpiété genre erase background.
Si t'as des flash blanc, c'est quasi sûr que c'est ça.
Mais y'a une autre forme de flickering, mais le composants haut niveau genre la VCL blittent leur dessin, donc ça devrait pas être ton cas.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°680351
youmoussa
Ecrou-vis
Posté le 22-03-2004 à 16:40:54  profilanswer
 

pour expliquer en gros (avec ce que je me souviens), quand la fenetre recoit un message pour dessiner (WM_PAINT), le message WM_ERASEBACKGROUND est également envoyé. par défaut la fenetre va alors effacé l'ancien dessin par du blanc. Donc, entre le moment ou tu demandes à afficher et le moment ou tu réaffiches ton image, on "efface" en intercalant "une image blanche".
 
tu peux surcharger la méthode onerasebackgnd (celle résultant du message wm_erasebackgnd) pour qu'elle ne fasse rien,
sinon, il y a d'autres methodes (double buffering).

n°680355
youmoussa
Ecrou-vis
Posté le 22-03-2004 à 16:41:51  profilanswer
 


 
grilled  :sweat:

n°680384
glRaZ
Posté le 22-03-2004 à 17:02:50  profilanswer
 

effectivement, je pense aussi que c'est dû au fait que l'image est remplacée par un fond blanc.
Je vais tester ça dès ce soir.

mood
Publicité
Posté le 22-03-2004 à 17:02:50  profilanswer
 

n°680391
youmoussa
Ecrou-vis
Posté le 22-03-2004 à 17:07:04  profilanswer
 

suis le lien que je t'ai indiqué, apparemment ils expliquent comment traiter le pb

n°681153
glRaZ
Posté le 23-03-2004 à 12:42:26  profilanswer
 

:bounce:  Ca marche !!!  :bounce:  
C'était effectivement dû à un problème de fliker.
Merci pour ton lien Youmoussa, il m'a été très utile.
En fait, j'ai remplacé mon Timage par un PaintBox et j'ai redéfinit la méthode paint().
 
Merci beaucoup !  :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Probleme de rafraichissement

 

Sujets relatifs
probleme avec while ...Probleme ! C inside
Probleme de new, tableau, * , ou & ?Probleme à l'affichage d'une requete
problème de rafraichissement forum phpproblème de rafraîchissement
[MFC] Problème de rafraichissement d'une CView et CWinApp:OnIdle[JAVA] - Problème de rafraîchissement d'écran !!!
[Web] probleme de frame et de rafraichissementprobleme de rafraichissement d'une image sous java
Plus de sujets relatifs à : Probleme de rafraichissement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR