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

Windows Presentation Foundation Discussion :

[WPF] Frame Rate


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 10
    Par défaut [WPF] Frame Rate
    Bonjour,

    Je cherche une solution en C# pour calculer le nombre de FPS dans une appli WPF ...

    d'avance

  2. #2
    Membre confirmé Avatar de despeludo
    Inscrit en
    Janvier 2004
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 121
    Par défaut
    Avec un code dans le genre cela doit pouvoir le faire:

    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
    33
     
     
    public Window1()
    {
        InitializeComponent();
        CompositionTarget.Rendering +=new EventHandler(CompositionTarget_Rendering);
    }
    long FrameRate;
    long LastFrameRate;
    long LastTick = -1;
     
    public long GetFrameRate()
    {
        if (sw.ElapsedTicks - LastTick >= 1000000)
        {
            LastFrameRate = FrameRate;
            FrameRate = 0;
            LastTick = sw.ElapsedTicks;
        }
        FrameRate++;
        return LastFrameRate;
    }
     
    System.Diagnostics.Stopwatch sw = null;
    void CompositionTarget_Rendering(object sender, EventArgs e)
    {
        if (LastTick == -1)
        {
            sw = System.Diagnostics.Stopwatch.StartNew();
            LastTick = 0;
        }
        txtFrame.Text = string.Format("{0} fps", GetFrameRate());
    }
    Cela devrait correspondre à ton besoin ; l'idée étant de s'abonner aux événements de début de rendu de l'image et de calculer le temps écoulé entre deux Frame.

    Ta fiche Xaml doit contenir un TextBox nommé txtFrame pour pouvoir visualiser le résultat

  3. #3
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 10
    Par défaut
    je viens de l'essayer mais ça n'affiche pas le FPS réel
    si on le compare avec Perforator, ce n'est pas du tout la même chose ...


  4. #4
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 10
    Par défaut
    un petit up

    j'ai cherché vraiment partout mais j'ai rien trouvé de pratique ...

  5. #5
    Membre confirmé Avatar de despeludo
    Inscrit en
    Janvier 2004
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 121
    Par défaut
    Le truc c'est que la techno est assez maline. Je m'explique : contrairement à une véritable application DirectX où toute l'image est raffraichie n fois par seconde, en WPF seules certaines zones sont raffraîchies lorsque cela est vraiment nécessaire (suite à un changement d'aspet d'un control graphique). Là encore, le rafraichissement ne s'applique qu'à certaines zones particulières comme une case d'une grille. Cela permet d'économiser de manière notable le CPU et la GPU. L'algorithme de rafraichissement n'est pas publié mais semble malgrés tout relativiement efficace.

    Tout ça pour dire que l'on ne peut pas vraiment parler de FPS comme on pourrait le faire en DirectX.

    Désolé.

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/02/2011, 16h57
  2. GLFW frame rate
    Par SpongeBob dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 14/06/2009, 22h26
  3. Frame rate en DirectShow
    Par enenkey dans le forum DirectX
    Réponses: 3
    Dernier message: 15/12/2006, 00h31
  4. [C++] Memcpy ralentit le frame rate
    Par LAPLACE dans le forum C++
    Réponses: 8
    Dernier message: 16/05/2006, 18h24
  5. Frame Rate
    Par starsky dans le forum OpenGL
    Réponses: 6
    Dernier message: 31/08/2002, 00h40

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