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 :

Synchroniser le rendu avec la frèquence écran


Sujet :

DirectX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Octobre 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2008
    Messages : 56
    Par défaut Synchroniser le rendu avec la frèquence écran
    Bonjour,

    j'ai une petite appli' qui utilise DirectX pour afficher en plein écran, point par point, codée en C++ MFC sous VS2005 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    m_pD3D9Device->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,0x00000000,1.0f,0);
    m_pD3D9Device->BeginScene();
    m_pD3D9Device->SetStreamSource(0,m_pD3D9VertexBuffer,0,sizeof(DX_POINT));
    m_pD3D9Device->DrawPrimitive(D3DPT_POINTLIST,0,m_sizeOfBufferOut);
    m_pD3D9Device->EndScene();
    m_pD3D9Device->Present(NULL, NULL, NULL, NULL);
    Tout ça se passe bien et ça s'affiche sans soucis !

    Le problème c'est que je (du moins ma CG) calcule en général plus vite que l'écran n'affiche, alors que j'aimerai que chaque frame soit affiché.
    Si je suis en 72Hz sur l'écran par exemple, j'aimerai que ma carte ne calcule que 72 frames par seconde !

    Y'a-t-il un moyen intégré à directx pour que la fonction Present() n'affiche qu'au rafraichissement écran (et soit bloquante) ?
    Ou faut-il que je fasse moi même une clock dans mon programme en espérant que ça tombe bien ?

    J'ai pas trouvé d'info pour l'instant sur le net, alors si quelqu'un a une idée ... merci !

  2. #2
    Membre actif
    Inscrit en
    Octobre 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2008
    Messages : 56
    Par défaut
    J'ai trouvé ! Avec la struct D3DPRESENT_PARAMETERS et son attribut PresentationInterval !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_D3D9PresentParameters.PresentationInterval = D3DPRESENT_INTERVAL_ONE;

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/08/2006, 11h03
  2. Synchronisation des Données avec SQL Server 2005
    Par attouchi dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/07/2006, 16h14
  3. [Synchronisation] comment et avec quels outils ?
    Par Alec6 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 14/02/2006, 08h23
  4. Réponses: 2
    Dernier message: 08/12/2005, 15h34
  5. Synchroniser 1 TListview avec 1 TList après 1 Tri
    Par delphi-fan dans le forum Langage
    Réponses: 3
    Dernier message: 05/08/2004, 11h38

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