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

DirectX Discussion :

Problème avec OnIdle


Sujet :

DirectX

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 68
    Points : 34
    Points
    34
    Par défaut Problème avec OnIdle
    Bonjour tous le monde !

    Mon application 3D fonctionne avec les bibliothèque MFC... J'utilise OnIdle pour redessiner la fenêtre en 3D en utilisant le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    BOOL CApp::OnIdle(LONG lCount) 
    {		
    	CWinApp::OnIdle(lCount);
     
    	AfxGetMainWnd()->Invalidate(FALSE);		
     
    	return TRUE;
    }
    Seul problème, l'application "bouffe" toutes les ressources CPU de la machine et n'en laisse pas beaucoup pour les autres applications... Le frame rate est très bon mais on perd en conford...

    Je pensais peut être ajouter une ligne dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    BOOL CApp::OnIdle(LONG lCount) 
    {		
    	CWinApp::OnIdle(lCount);
     
    	AfxGetMainWnd()->Invalidate(FALSE);		
     
                    Sleep(10); //Ici
    	return TRUE;
    }
    Pour laisser un peu respirer les autres applications... mais je ne suis pas sur que ce soit là la façon la plus élégante de résoudre mon prob...

    Une idée ?

    Bien amicalement,

    Francky

  2. #2
    Membre régulier
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Points : 115
    Points
    115
    Par défaut
    Je ne pense pas que ce sleep soit une mauvaise solution pour resoudre le probleme.

    A condition qu'il soit le seul evidement.
    Il est place la ou il faut.

    A implementer eventuellement pour plus de "confort" utilisateur :

    Ne pas updater si la fenetre est iconic ou recouverte par une autre fenetre.
    Laurent -- http://jeux-directx.com/

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 68
    Points : 34
    Points
    34
    Par défaut Merci !

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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