IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Charge CPU avec prog opengl + win32


Sujet :

MFC

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Charge CPU avec prog opengl + win32
    J'ai commencé un ptit prog avec opengl et je viens de m'apercevoir que même minimisé il utilise près de 100% du CPU.
    L'affichage n'est rafraîchi que par les appels à WM_PAINT qui appelle ma fonction d'affichage Opengl Draw() et pas par une boucle dans mon WinMain.
    Draw() n'est appellé que quand j'ai besoin de rafraichir, ca n'arrive pas souvent mais j'ai toujours 100% de charge CPU même quand j'ai quasiment rien à afficher.
    s.minimized indique si la fenêtre est minimisée ou non, donc une fois minimisé ca devrait même rien affiché et pourtant g encore 100%

    Si qq1 a une idée ca m'aiderais beaucoup ! merci !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    case WM_PAINT:
          if (!s.minimized)
          {
                s.Draw();
                SwapBuffers(hDC);
                ValidateRect(hWnd, NULL);
          }
    et pour le main ca donne ca (j'ai simplifié)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    {
    MSG msg;					
    BOOL done=FALSE;						
    HACCEL acceleratorTable;
    acceleratorTable = LoadAccelerators(hInstance,
                                            MAKEINTRESOURCE(IDR_ACCELERATOR1));
     
     
    s.window.windowResize(s.WIDTH, s.HEIGHT);
    s.Draw();
     
    while(!done)
    {
          if (PeekMessage(&msg,NULL,0U,0U,PM_REMOVE))
          {
                 if (msg.message==WM_QUIT) { done=TRUE; }
                 else					
                 {
                       if (!TranslateAccelerator(hWnd, acceleratorTable, &msg))
    		TranslateMessage(&msg);
    	   DispatchMessage(&msg);			
                 }
          }
          else
          {
                 SwapBuffers(hDC);
           }
    }
    GLKill();
    return (msg.wParam);
    }

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    vu le genre de boucle ça m'etonne pas que ça effondre le cpu.
    sur codeguru il y a des exemples d'implementation simple d'opengl.
    par exemple dans une dialogue box ce qui semble etre le plus simple:
    http://www.codeguru.com/Cpp/G-M/opengl/article.php/c2687/
    voir aussi la section:
    http://www.codeguru.com/Cpp/G-M/opengl/


  3. #3
    Candidat au Club
    Inscrit en
    Avril 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Merci pour les adresses.

    J'ai parcouru le site, j'ai eu du mal à trouver ce que je voulais pasque c principalement de la prog MFC mais j'ai trouvé un main avec le minimum. J'ai corrigé le mien et ca marche.

    Merci encore!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Charge CPU avec Vmware
    Par smb87 dans le forum VMware
    Réponses: 0
    Dernier message: 05/06/2014, 13h49
  2. Question sur l'utilsation cpu avec jogl/opengl
    Par Elendhil dans le forum Moteurs 3D
    Réponses: 6
    Dernier message: 21/10/2009, 13h47
  3. Charge CPU avec dll .NET
    Par Gruick dans le forum LabVIEW
    Réponses: 5
    Dernier message: 11/07/2008, 10h23
  4. Charge CPU avec TOP
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 28/07/2007, 14h07
  5. comment faire pour developper des prog en win32
    Par rhodan51 dans le forum Autres éditeurs
    Réponses: 11
    Dernier message: 09/11/2003, 19h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo