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

SFML Discussion :

Changer le taux de rafraîchissement


Sujet :

SFML

  1. #1
    Membre averti
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Octobre 2008
    Messages : 187
    Points : 448
    Points
    448
    Par défaut Changer le taux de rafraîchissement
    Bonjour,

    est-il possible dans la dernière version de changer le taux de rafraîchissement en mode plein écran ? Je n'ai rien vu là-dessus dans la doc, et il semblerait que la struct sf::VideoMode ne contienne que la taille et le bitsPerPixel. Les discussions sur le site officiel datent un peu, donc je repose la question. L'idéal serait aussi d'avoir la liste des taux compatibles, comme on peut déjà le faire avec les modes vidéo en appelant sf::VideoMode::getFullscreenModes().

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Salut,

    tu parles de limiter le framerate ? http://www.sfml-dev.org/documentatio...f0d5087ad5e784
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Octobre 2008
    Messages : 187
    Points : 448
    Points
    448
    Par défaut
    Non, je parle bien de changer la fréquence de la synchronisation verticale

    Les téléviseurs fonctionnent tous à des fréquences différentes aujourd'hui (60Hz, 75Hz, 120Hz, 144Hz, etc), et il est possible de changer leur framerate à la volée (de même que leur résolution). Habituellement quand on récupère la liste des modes compatibles en fullscreen, on a également l'info du framerate en plus de la résolution et du bpp si je me trompe pas.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Tu peux activer la synchro verticale http://www.sfml-dev.org/documentatio...f8aff366034f61
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Octobre 2008
    Messages : 187
    Points : 448
    Points
    448
    Par défaut
    Avec la synchro verticale, le jeu va tourner à la fréquence native de l'écran, mais c'est justement cette valeur que je voudrais changer ! De même qu'un écran peut supporter des résolutions variées comme 1080p, 720p, 640x480, il peut également supporter des taux de rafraîchissement différents, et c'est plutôt habituel dans un jeu de changer ce framerate.

    Bon je viens de regarder dans le code source et en effet on n'utilise jamais le paramètre dmDisplayGrequency sous Win32, donc on va toujours utiliser le framerate par défaut:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        DEVMODE devMode;
        devMode.dmSize       = sizeof(devMode);
        devMode.dmPelsWidth  = mode.width;
        devMode.dmPelsHeight = mode.height;
        devMode.dmBitsPerPel = mode.bitsPerPixel;
        devMode.dmFields     = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL;
     
        // Apply fullscreen mode
        if (ChangeDisplaySettingsW(&devMode, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL)
        {
            err() << "Failed to change display mode for fullscreen" << std::endl;
            return;
        }
    (WindowImplWin32.cpp::switchToFullscreen)

    C'est un choix technique que je comprends de la part de l'auteur mais je suis bien embêté :p

Discussions similaires

  1. Forcer le taux de rafraîchissement de son écran.
    Par grunt2000 dans le forum Windows 7
    Réponses: 0
    Dernier message: 09/06/2010, 15h00
  2. Réponses: 2
    Dernier message: 26/06/2002, 13h16
  3. changer de repertoire et situer
    Par chateau dans le forum C
    Réponses: 4
    Dernier message: 24/06/2002, 11h27
  4. changer l'adresse d'un fichier...
    Par cava dans le forum C
    Réponses: 6
    Dernier message: 05/06/2002, 12h22

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