begin process at 2010 02 10 07:29:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Problème saturation mémoire avec screenshot


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

Problème saturation mémoire avec screenshot

lundi 4 juillet 2005 à 01:46:23 | Problème saturation mémoire avec screenshot

sidhannowe

Bonjour,

Je réalise un screenshot régulièrement (ttes les 500ms) grace à un timer, le code qui génère le screenshot est le suivant:

 HWND pWnd = GetDesktopWindow();
 HBITMAP bitmap;
 HDC dc = GetWindowDC(pWnd);
 HDC hdc;
 hdc=CreateCompatibleDC(dc);

 int ScreenWidth = GetDeviceCaps(dc, HORZRES);
 int ScreenHeight = GetDeviceCaps(dc, VERTRES);

 bitmap=CreateCompatibleBitmap(dc, ScreenWidth, ScreenHeight);

 SelectObject(hdc,bitmap);
 BitBlt(hdc, 0, 0, ScreenWidth,ScreenHeight, dc, 0, 0, SRCCOPY);

Mon problème est que visiblement la mémoire occupée par le programme augmente de manière constante et que au bout d'environ 1 min, le screenshot ne s'effectue plus (visiblement l'erreur se trouve dans la création des DC). Je suis sur que c'est cette partie du programme qui pause problème. Qqun a une idée ?

Merci pour votre aide.

lundi 4 juillet 2005 à 01:47:16 | Re : Problème saturation mémoire avec screenshot

sidhannowe

J'ai oublié de noter les deux deletedc:

DeleteDC(hdc);
DeleteDC(dc);

Meme avec eux ca n'arrange pas le problème.

lundi 4 juillet 2005 à 08:08:06 | Re : Problème saturation mémoire avec screenshot

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
DeleteObject(bitmap); aussi
lundi 4 juillet 2005 à 12:44:13 | Re : Problème saturation mémoire avec screenshot

sidhannowe

Ok merci ca à l'air d'etre ca, je n'ai visiblement plus de problème de screenshot ni de mémoire sauf que ca augmente encore mais très légèrement (ce que je trouve pas normal). Normalement lorsque la fonction est terminée ca libère la mémoire automatiquement de ttes les variables de la fonction non ?
lundi 4 juillet 2005 à 20:18:32 | Re : Problème saturation mémoire avec screenshot

vecchio56

Administrateur CodeS-SourceS
Bien sur que non, comment la mémoire pourrait elle être libérée automatiquement? Un HBITMAP est juste un pointeur vers une zone mémoire, c'est celle ci que tu libères en utilisant DeleteObject


Cette discussion est classée dans : problème, hdc, mémoire, dc, screenshot


Répondre à ce message

Sujets en rapport avec ce message

Sélection d'une bitmap dans un DC [ par vecchio56 ] Bonjour a tousJ'explique mon problème:Je charge une bitmap 8 bits à partir d'un fichier (je n'utilise pas LoadBitmap, qui crée une bitmap 32 bits en m problème espace mémoire [ par borgeomi ] borgeomibonjouuuuuuur !!!!!encore une question stupide d'un programmeur cobol MVSsous VISUAL C ++ 6J'ai crée une classe Personne du stylePersonne Tab Fuite Mémoire + Différence DevC++ Vs Visual C++ [ par Joky ] Hep salut les gens :)Donc plusieurs problème aujourd'hui qui m'inquiète :)Nous aborderons dans un premier temps, un problème d'optimisation puis par l Problème mémoire Visual C++ 2005, (pourtant il n'y a pas de mémoire "dynamiquement allloué") [ par Sim 2005 ] J'ai un programme qui utilise beaucoup plus de mémoire qu'il ne le devrait. Toutes les variables sont statiques, il ne peut s'agir d'une fuite de mémo Problème screenshot via service NT [ par Valty ] Bonjour, Après de (nombreux) tests, je n'ai pas réussi à réaliser une capture d'écran (screenshot) du desktop courant à partir d'un service NT. PS: HDC vers HBITMAP [ par julien_boss ] Bonjour,j'ai un DC, contenant un dessin..., je souhaite pouvoir transférer son contenu dans un bitmap de type HBITMAP, afin ensuite de la mettre dans MySQL API C, libération de mémoire tampon... [ par Guizmo95 ] Bonjour,je développe un programme en C avec l'API C pour MySQL, et mon mon problème est le suivant, je lance le programme et je regarde la mémoire qu' pr d'objet GDI qui augmente, help [ par gege1024 ] CPaintDC hdc(this);HBITMAP bit;BITMAP bitmap;CRect rect;GetClientRect(&rect);  bit= (HBITMAP) LoadImage (NULL,fic_img_abs,IMAGE_BITMAP,0,0,LR_DEFAULTS Lenteur 3 [ par SAKingdom ] Pour résumé, j'ai fait une petite DLL graphique 2D et j'avais (et j'ai toujours) un problème écransant de lenteur. J'utilisait SetPixel (j'utilise tou Problème avec les regions (redessinement) [ par waganono ] Bonjour à tous En fait je souhaite creer une "dialog" aux coins arrondis avec des boutons arrondis (bitmaps). - Pour la dialog, je n'ai aucun problè


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,624 sec (4)

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