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

API graphiques Discussion :

Récupération du framerate d'applications externes contenant des flux opengl ou dx


Sujet :

API graphiques

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Récupération du framerate d'applications externes contenant des flux opengl ou dx
    Bonjour tout le monde,

    J'aimerais savoir si il est possible à la manière de fraps de récuperer les fps d'une application tournant soit sous opengl / soit sous directx afin de realiser des benchmarks.

    Etant plus porté sur le Java et n'ayant rien trouvé de concluant à ce sujet, j'aimerais savoir si vous pouviez me guider un peu, dois-je me tourner vers le c ? le c++ ? J'aimerais réaliser un programme se lancant en tache de fond qui detecterai lorsqu'un stream directx ou opengl est lancé et recupererai les fps de celui-ci. Le tout serait stocker dans un fichier texte basique.

    Est-ce simple ? compliqué ? Vers quoi dois-je me diriger ?

    Merci d'avance !

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    La technique est expliquée sur la FAQ de FRAPS, sur le site officiel.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour et merci pour la réponse.


    De quel FAQ parles-tu ? J'ai bien trouvé celle-ci mais elle explique comment utiliser le logiciel. J'aimerais moi réaliser mon propre outils de benchmarking, afin de ne pas m'encombrer de la capture vidéo et d'images. De plus j'aimerais le coupler à un webservice.

    Ma question est donc : Sur quel technos je dois partir pour réaliser ceci ? Y'a t il quelques tips pratique pour récuperer facilement le nombre de fps ?

    Merci

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    On dirait qu'ils ont retiré ça du site. Tu peux le trouver là :
    http://www.master.pl/~bu/#coders

  5. #5
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Soit tu utilises la DLL de FRAPS comme expliqué dans le lien à Laurent.

    Soit tu cherches des Proxys de DLL pour DirectX9-8 et OpenGL. Les proxys de DLL vont te permettre de récupérer toutes les appels API et donc de calculer les FPS sur Present/SwapBuffer.

    Soit faire un hack plus agressif dans l'exécutable au chargement de celui-ci.

    Le proxy est plus facile à mettre en place, moins "instable" mais ne fonctionne que si le jeu utilise les dll stockées dans "c:/windows/system32/"
    Il faut remplacer le proxy à chaque nouvelles dll si les appels ont changés.

    Le hack fonctionne partout, sauf que c'est beaucoup plus instable comme démarche, et peux déstabiliser la machine.

    Proxy:
    - OpenGL ex: GLIntercept
    - Direct3D 8/9 ex: Intercept Calls to DirectX with a Proxy DLL

  6. #6
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    Citation Envoyé par Ti-R Voir le message
    Le hack fonctionne partout, sauf que c'est beaucoup plus instable comme démarche, et peux déstabiliser la machine.
    Si tu parles de librairies comme detours, sauf si le programmeur est une tanche c'est facile à mettre en oeuvre et je n'ai jamais rencontré de déstabilisation de machine après une utilisation forcenée de plusieurs années. Au pire s'il y a un bug dans ton code, tu crashes l'executable lors de l'utilisation et c'est tout (rien qui n'affecte la machine globalement).

    Pour info detours c'est ici :
    http://research.microsoft.com/sn/detours/

    LeGreg

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  7. #7
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    En fait je voyais le truc encore plus direct, mais passer par une API type «*detours*» pourrait être une bonne solution.

    Pour le programmeur pas de problème, on sait ce que l'on fait, mais si tu installes ta DLL sur tout tes clients, que Microsoft sort sa nouvelle DLL DirectX, et que toutes les applications qui utilise Direct3D crash, c'est embêtant

    Avec une DLL proxy, la dll est écrasée, donc pas de problème, seulement ton programme ne fonctionne plus.

    C'est ce que je voulais signaler.

Discussions similaires

  1. récupération des coordonée d'une interface d'application externe
    Par midoom dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 15/02/2010, 13h08
  2. <NetBeans>Appel des applications externes
    Par souhir2008 dans le forum NetBeans
    Réponses: 0
    Dernier message: 09/08/2008, 13h21
  3. Manipuler des applications externes
    Par Clorish dans le forum Général Java
    Réponses: 7
    Dernier message: 25/04/2008, 14h17
  4. application externe avec des parametre variable
    Par CoOki_ dans le forum Excel
    Réponses: 3
    Dernier message: 11/08/2007, 09h07
  5. Réponses: 7
    Dernier message: 19/04/2007, 13h33

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