begin process at 2012 02 10 20:16:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Autre

 > 

Double Buffer !!!!!!!!!!!!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Double Buffer !!!!!!!!!!!!

vendredi 13 octobre 2006 à 20:00:50 | Double Buffer !!!!!!!!!!!!

BugcORE

SA FAIT un bon moment que j'essai de faire
fonctionner un Double Buffer !
J'ai eu pas mal de problème avec !
(U.C. 100%, Affiche rien, etc....)

J'arrive maintenant a un autre problème....
quand j'essai de faire bouger mon Bitmap
ya toujours un PUTIN de cliniotement !!!!
(sa veut dire que mon Double Buffer ne marche pas )

SA COMMENCE VRAIMENT mais
vraiment A ME FAIRE CHIER !

Si quelqu'un aurait la gentillesse de poster une
ptite source simple ou a m'aider sa serait
sympa
vendredi 13 octobre 2006 à 20:40:36 | Re : Double Buffer !!!!!!!!!!!!

melkiorlenecrarque

Membre Club
Bonjour,

il est préférable de garder un langage correcte dans les messages : ton smiley est suffisant pour exprimer ton énervement !
Sinon, une portion de ton code pourrait être utile...

++
vendredi 13 octobre 2006 à 20:45:18 | Re : Double Buffer !!!!!!!!!!!!

bbear

bin je sais pas les autresn, mais moi dans le winproc, au message WM_CREATE, je crée un timer et j'initialise l'ecran (bitmap=createDIBsection(...,..,&framebuffer), pDC=createcompatibledc, select(pDC,bitmap) )
dans WM_TIMER, j'appelle mes routines d'effets (fait dans le pDC/framebuffer) et je fais un InvalidateRgn(hwnd,0,0) et UpdateWindow(hwnd) qui appel WM_PAINT où je copie le framebuffer/pDC où les effets ont été fait dans l'ecran en cours avec un SetDIBitsToDevice(hdc,..,..,...., framebuffer,...) ou un BitBlt(hdc,x,y,sx,sy,pDC,0,0,SRCCOPY) avec hdc=BeginPaint()

je sais c'est peut être pas très clair, mais bon, ça marche
vendredi 13 octobre 2006 à 21:06:56 | Re : Double Buffer !!!!!!!!!!!!

BugcORE

Je fait casiment la même chose que bbear (jutilise un Timer , etc...)


dans WM_CREATE:
hBmp1 = LoadBitmap(GetModuleHandle(0), MAKEINTRESOURCE(IDB_BITMAP1));
_hOffScreenDC = CreateCompatibleDC(GetDC(hWindow));
hBmpOff = CreateCompatibleBitmap(GetDC(hWindow), 640, 480);
SelectObject(_hOffScreenDC, hBmpOff);

dans WM_TIMER:
xx+=1;
....
InvalidateRect(...);

dans WM_PAINT:
BlitBitmap(_hOffScreenDC, hBmp1, xx, 0, 0, 0); //<-Ma fonction pour Dessiner un bitmap.
BitBlt(hDC, 0, 0, 640, 480, _hOffScreenDC, 0, 0, SRCCOPY);
ReleaseDC(hWindow, hDC);

vendredi 13 octobre 2006 à 21:07:54 | Re : Double Buffer !!!!!!!!!!!!

BugcORE

Et au faite ..... desolé pour mon langage mais j'été sur les nerfs
vendredi 13 octobre 2006 à 23:14:58 | Re : Double Buffer !!!!!!!!!!!!

BugcORE

ok .... personne a la soluce ??

jai juste oublier de préciser

dans WM_PAINT:
hDC = BeginPaint(hWindow, &ps);
BlitBitmap(_hOffScreenDC, hBmp1, xx, 0, 0, 0); //<-Ma fonction pour Dessiner un bitmap.
BitBlt(hDC, 0, 0, 640, 480, _hOffScreenDC, 0, 0, SRCCOPY);
ReleaseDC(hWindow, hDC);
EndPaint(hWindow, &ps);
samedi 14 octobre 2006 à 01:06:00 | Re : Double Buffer !!!!!!!!!!!!

BugcORE

ok ... vais me pendre
samedi 14 octobre 2006 à 13:03:47 | Re : Double Buffer !!!!!!!!!!!!

aardman

Membre Club
Salut,
C'est si compliqué que ca de prendre une source qui marche et de regarde comment c'est fait ?
Et dans ton code, il ne faut pas utiliser ReleaseDC() sur le hDC retourné par BeginPaint().

samedi 14 octobre 2006 à 13:09:46 | Re : Double Buffer !!!!!!!!!!!!

BugcORE

J'ai trouvé Aucune Source sur cppfrance ...
C'est pour sa que je poste dans le forum!
Et même en mettant ReleaseDC avec le hdc hors de l'écran
sa change rien en plus ya une trainé derirère l'image maintenant :S
samedi 14 octobre 2006 à 13:22:09 | Re : Double Buffer !!!!!!!!!!!!

aardman

Membre Club
Salut,
Bon déja pour le code:
- Pour detruire le DC mémoire c'est DeleteDC().
- Pour liberer celui retourné par BeginPaint(), c'est EndPaint() qui s'en charge.

Pour les sources: ma source "des yeux" utilise le double buffering, par exemple.


1 2

Cette discussion est classée dans : buffer, problème, essai, double


Répondre à ce message

Sujets en rapport avec ce message

problème de spin [ par albertoC ] re-bonjour,J'ai maintenant un problème avec un spin. Voilà le code qui me sert à l'initialiser (m_SProfondeur est un pointeur sur un spin, et m_Profon problème avec DirectShow [ par LiBe444 ] Bonjour,POURQUOI ImediaSeeking::SetRate(DOUBLE drate) ET ImediaPosition::put_Rate(DOUBLE dRate) stoppent ils un graphe avant de changer son taux ? Problème avec les listes chaînées double [ par marik7335 ] Salut,Je comprends le principe des listes chaînées simples mais je n'arrive pas à utiliser les listes chaînées double.Ce que je voudrais faire c'est u Problème d'affichage, couleurs, faces visibles/cachées [ par Tibabou ] Bonjour/soir, Avec le code ci-dessous, j'obtiens une sphère "bizarre", j'ai le même problème avec des cubes, on voit le fond à certains endroits:<IMG Problème de fonctions .... [ par pirana ] Bonjour à vous voila j'ai un ptit problème avec mes variables.. La première :(ou je veux juste lui "donner" une valeur ,et me retourne 1...) J'ai problème de scan de double dans un fichier [ par jc_romeo ] Bonjour je dois prendre des valeurs d'un fichier qui sont de type double (8 chiffres apres la virgule)je fais donc la manip suivante:double valeur;fsc [visual C++] problème (très bizarre) avec un CString [ par drinkmilk ] Bonjour, je fait une requête sur une base access. Je récupère les données ainsi: <T Problème de transtypage [ par milie_k33 ] Bonjour,Je suis actuellement sur la création d'un programme en C où je calcule de des doubles assez grands. Mon problème arrive quand je souhaite tran Problème avec chiffres à virgule [ par Aldarek ] Salut à tous, j'ai un problème pour une simple division et impossible de savoir pourquoi...   Voici le code : Code :cout<<"op problème urgent !! problème compilation eclipse :( [ par pioupioufou ] Bonjour cela va bientôt faire une semaine que je cherche comment résoudre mon problème mais je n'ai toujours pas réussi, alors le voici : Je suis sous


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales