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

OpenGL Discussion :

60 fps maximum


Sujet :

OpenGL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Par défaut 60 fps maximum
    Bonjour,

    J'ai une bête application OpenGL qui tourne tous le temps à 60 fps.
    Pourtant dans le panneaux de configuration nvidia, j'ai dit que s'était l'application qui choisissait si il doit y avoir synchronisation verticale ou non. Or dans mon programme je ne fait rien pour limiter les fps à 60 !

    Comment cela se fait-il ? merci.

  2. #2
    Membre éclairé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Par défaut
    Bonjour !

    Tu utilises un pc portable ? (souvent les fps sont limitées à 60 car l'écran ne peut en afficher plus, éco d'énergie, etc.)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Par défaut
    Oui en effet je suis sur un pc portable...mais je suis branché sur le secteur !

    Et d'après quelques tests, c'est tout les applications/jeux OpenGL qui sont limité à 60 fps...quand aux applications/jeux en Direct3D, elle ne sont pas limité à 60fps !

  4. #4
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 607
    Par défaut
    ton appli doit simplement se limiter au rafraichisement de l'écran
    tu utilises quoi pour le fenêtrage ?

    edit : dans le panneau de config nvidia, tu as une partie directx et une partie opengl, tu as vérifié dans les deux pour la synchro ?
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Par défaut
    Citation Envoyé par shenron666 Voir le message
    tu utilises quoi pour le fenêtrage ?
    wxWidgets

    Citation Envoyé par shenron666 Voir le message
    edit : dans le panneau de config nvidia, tu as une partie directx et une partie opengl, tu as vérifié dans les deux pour la synchro ?
    heuuu...ça se trouve où le choix entre directx et opengl ? Parce que je ne vois pas...

  6. #6
    Membre éclairé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Par défaut
    Le choix n'existe plus depuis un bout de temps maintenant entre OGL et DX. Sur les portables, c'est limité à 60 fps, (j'ai le même soucis), mais quand tu essayes sur un fixe, les fps grimpent comme elles devraient. Ne t'inquiète pas.
    C'est vrai que ça permet de voir comment tourne le programme et la marge que l'on peut avoir, de ce côté là c'est embêtant.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 217
    Par défaut
    Il n'existe pas une fonction native du système d'exploitation pour "débrider" le framerate?

  8. #8
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 607
    Par défaut
    Citation Envoyé par akiraa Voir le message
    heuuu...ça se trouve où le choix entre directx et opengl ? Parce que je ne vois pas...
    au temps pour moi, je viens de regarder et c'est vrai qu'il n'y a plus le choix
    bizarre que directx ne soit pas limité lui, un bug ?
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  9. #9
    Membre éclairé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Par défaut
    Il faudrait essayer avec un jeu qui fonctionne en OpenGL ET Directx (comme UT par exemple) pour confirmer, sinon ça peut simplement venir de Directx et sa façon de rafraichir (j'avoue que connais pas trop dx).
    Certains jeux désactivent la synchro pour leurrer les benchs et obtenir des fps qui ne sont pas réelles. (ça prend une ligne en dx : http://jeux.developpez.com/faq/direc...ROBLEMES_vsync )

  10. #10
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Salut,
    as-tu essayé de désactiver complètement la synchro dans le driver plutôt que de la gérer par l'appli ?

  11. #11
    Membre éclairé
    Homme Profil pro
    Game Graphics Programmer
    Inscrit en
    Août 2006
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Game Graphics Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 408
    Par défaut
    Euh, le programme serait pas plutôt lié à l'écran TFT du portable qui limite l'affichage à 60 images/seconde?
    Ou plutôt, si tu démarres l'application en mode fenêtré, que ca se limite à la vitesse d'affichage de Windows que l'on définir dans le panneau de configuration, c'est-à-dire 60 Hz.

  12. #12
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    C'est justement ça qui s'appelle la synchro verticale ^^

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 18
    Par défaut
    Salut,

    Avec les derniers pilotes (les autres je ne sais pas), il y a une option dans le panneau nVidia pour désactiver la vsync (option à 3 possibilités : Laisser gérer l'application, forcer la vsync ou désactiver la vsync).
    Je travail également sur un portable et en la désactivant tout va bien.

    Je suis sous vista aussi, mais je pense que l'option est également dispo sous xp.

    bye

  14. #14
    Membre éclairé
    Homme Profil pro
    Game Graphics Programmer
    Inscrit en
    Août 2006
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Game Graphics Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 408
    Par défaut
    Je pense pas que le VSYNC ait un effet quelconque en mode fenêtré. Par contre, en mode plein écran, ca doit être possible de forcer sa désactivation (je me souviens que c'était possible avec Quake3).

  15. #15
    Membre éclairé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Par défaut
    J'ai essayé avec mon moteur 3d opengl (je passe de 60 à 145fps), un jeu directx, et ut2004 en mode ogl et dx: en désactivant la synchro dans les drivers, je ne suis plus limité à 60.
    conclusion :
    akiraa> Un clic à dû être manqué... Laquelle des 3 options qu'indique kaliban as-tu choisie ?

  16. #16
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Citation Envoyé par Kurisu Voir le message
    Je pense pas que le VSYNC ait un effet quelconque en mode fenêtré. Par contre, en mode plein écran, ca doit être possible de forcer sa désactivation (je me souviens que c'était possible avec Quake3).
    Si si ca joue également sur le mode fenetré, en tout cas chez NVidia ^^

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Par défaut
    Quand je force la désactivation de la synchro, j'ai plus de 60 fps.
    Mais bon je trouvait quand même bizzard que mon application s'auto-limitait à 60fps si je mettait l'option : "Laissé gérer l'application", d'où ma question.

  18. #18
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 554
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 554
    Par défaut
    Citation Envoyé par LapinGarou Voir le message
    Sur les portables, c'est limité à 60 fps, (j'ai le même soucis), mais quand tu essayes sur un fixe, les fps grimpent comme elles devraient. Ne t'inquiète pas.
    Sur les portables j'ai une explication éventuelle: la mémoire vidéo est la plupart du temps partagée avec la RAM ce qui peut expliquer qu'on soit limité à 60fps.
    Sur les PC de table évidemment il n'y pas ce problème parce que c'est une véritable carte graphique accélératrice qu'on insère dans le PC

    Citation Envoyé par akiraa Voir le message
    Quand je force la désactivation de la synchro, j'ai plus de 60 fps.
    Je ne me risquerais pas dans ce genre d'opération et à bon entendeur salut.
    Si tu bousilles ton portable tu ne t'en prendras qu'à toi même
    évidemment y'a toujours quelqu'un qui va me soutenir que cela n'a pas d'importance mais moi je dis à bon entendeur...

  19. #19
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Mais bon je trouvait quand même bizzard que mon application s'auto-limitait à 60fps si je mettait l'option : "Laissé gérer l'application", d'où ma question.
    Ah oui, donc finalement personne n'a répondu à ta question ^^, dsl je connais pas la réponse. Je me souviens avoir fait des tests d'Interfaces et que pour le même code OGL, j'étais par exemple bloqué à 100fps sans synchro verticale avec WXwidgets alors que je montais à 1500 avec GTK. Soit j'avais codé ca n'importe comment soit il y a moyen de paramétrer ca au niveau de la lib qui te donne le contexte. (à moins que ca vienne du fait que ce soit un portable, comme le dit Mat M., mais j'aimerais bien savoir comment windows gère ca, ca veut dire qu'il prendrait la main sur le driver quand tu laisses "gérée par l'appli", j'y crois pas trop)
    Bye

  20. #20
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 3
    Par défaut
    Quand tu choisis: "Laissé gérer l'application" la fenêtre créée est limitée par défaut.

    Si tu veux changer, tu peux utiliser l'API win32, une fois que ta fenêtre est créée:

    bool aOn = false ; // swaplock on ?
    // MakeCurrent must be called before !
    if (!wglSwapIntervalEXT)
    {
    cerr << "ERROR: wglSwapIntervalEXT not defined call wglMakeCurrent prior to SetVerticalSyncOn()"<<endl ;
    return false;
    }
    if ( !wglSwapIntervalEXT(aOn ? 1 : 0) )
    {
    cerr << "ERROR: wglSwapIntervalEXT fails"<<endl ;
    return false;
    }


    Remarque quand "aOn" est vrai tu peux maîtriser la fréquence voulue comme ça:


    // Récupère la configuration courante
    DEVMODE vMode ;
    if ( ! EnumDisplaySettings(NULL,0,&vMode) )
    {
    return false ;
    }

    // Fixe la fréquence
    int vFrequency = 75 ; // 75 Hz !

    vMode.dmFields = 0 ;
    vMode.dmFields |= DM_DISPLAYFREQUENCY ;
    vMode.dmDisplayFrequency = vFrequency ;

    // Tester avant de fixer la fréquence
    if ( ChangeDisplaySettings(vMode,CDS_TEST) != DISP_CHANGE_SUCCESSFUL )
    return false;

    //C'est Ok la fréquence peut être fixée
    if ( ChangeDisplaySettings(vMode,0) != DISP_CHANGE_SUCCESSFUL )
    return false;

Discussions similaires

  1. Comment obtenir le fps ???
    Par olive-sjs dans le forum OpenGL
    Réponses: 2
    Dernier message: 25/02/2004, 08h32
  2. récupération du maximum
    Par delicatessen2 dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 15/09/2003, 15h10
  3. [Tableau] taille maximum
    Par vasilov dans le forum C
    Réponses: 15
    Dernier message: 01/08/2003, 11h52
  4. (Debutant) resolution et fps
    Par silverdelph dans le forum DirectX
    Réponses: 4
    Dernier message: 12/07/2003, 13h50
  5. [MFC]Calculer les FPS
    Par inerti@ dans le forum MFC
    Réponses: 6
    Dernier message: 19/03/2003, 19h22

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