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

C++ Discussion :

Récupérer des informations sur la carte vidéo


Sujet :

C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Points : 24
    Points
    24
    Par défaut Récupérer des informations sur la carte vidéo
    Bonjour, je cherche à récupérer des informations sur la carte vidéo pendant l'exécution de mon appli.
    Plus exactement je cherche à connaitre la mémoire totale, utilisée et disponible de la carte, ainsi que le nombre de GPUs s'il y en a plusieurs.
    Mon appli fonctionnant sous Windows, Mac OSX et Linux, je cherche une méthode générique pour faire ça.

    D'avance merci.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Je ne suis pas sûr que tu trouveras des méthodes génériques pour cela (comprendre portables).

    L'API DirectX peut déjà te donner beaucoup d'information sur les capacités de ta cartes (en termes de fonctionnalités). Peut être que OpenGL (qui est plus portable) peut te donner aussi ce même type d'information.

    Mais de toute façon, ces 2 API te retourneront des résultats en fonction du driver de la carte vidéo installé. Si tu n'as pas de driver (ou pas les bon drivers), ces API t'indiqueront ce qu'elles peuvent faire en l'état mais pas ce qu'elles pourraient faire avec les bons drivers.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Points : 24
    Points
    24
    Par défaut
    Bon déjà je ne peux pas me servir de DirectX puisque je travaille aussi avec Mac OSX et Linux. Cependant je suis prêt à utiliser des méthodes plus "plateform specific".
    En cherchant sur le net j'ai trouvé du code pour faire ça sous Windows, mais pour ce qui est de Mac et Linux, c'est la dèche...

  4. #4
    Membre actif Avatar de Twindruff
    Inscrit en
    Janvier 2005
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 216
    Points : 237
    Points
    237
    Par défaut
    Sous linux les infos sur le matos sont mappées dans le répertoire /sys en général (voire dans /proc) comme dans /proc/cpuinfo par exemple.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Points : 24
    Points
    24
    Par défaut
    Oui effectivement. Cependant il n'est pas possible de récupérer la mémoire vidéo utilisée à un instant T (ou disponible). Je cherche plutôt une PI qui pourrait me permettre de faire ça. Sous Win et Mac Os, je sais maintenant comment récupérer la mémoire totale. C'est un début, il me manque maintenant le nombre de GPUs, le nom du modèle, la mémoire utilisée et disponible.
    J'ai touvé une API qui fait ça : zoomGPU cependant elle est payante. Peut-être quelqu'un connait-il un équivalent gratuit?

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Le nom du modèle, vous pouvez y arriver avec OpenGL
    ( glGetString(GL_VENDOR) , je crois )
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Points : 24
    Points
    24
    Par défaut
    Tout à fait. Cependant j'aimerais déterminer les caractéristiques de la carte vidéo avant de créer un contexte OpenGL (nécessaire pour glGetString).

    Pour ceux que ça intéresse, voici les liens que j'ai trouvé pour Mac OS et Windows :
    - http://developer.apple.com/qa/qa2004/qa1168.html
    - http://msdn.microsoft.com/en-us/libr...12(VS.85).aspx

    Mais il me reste toujours Linux et la mémoire allouée/disponible .

  8. #8
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Points : 24
    Points
    24
    Par défaut
    Petites avancées :
    J'ai renoncé à récupérer la mémoire vidéo allouée et disponible.

    Par contre je récupère les autres infos.
    Pour MAC OSX je me suis servi de ce code,
    http://developer.apple.com/samplecod.../listing3.html
    Pour Linux, j'ai trouvé deux méthodes, mais je ne sais pas trop laquelle prendre.
    1°) nvidia-settings -t -q [requète] et je parse le retour. Là je peux récupérer le nom, la taille de la mémoire et le nombre de GPUs mais ce n'est que pour les cartes nVidia.
    2°) je parse le retour de lspci -v | grep VGA -A12. Et ça marche pour tout type de cartes vidéo mais je ne récupère les infos que d'un seul GPUs...

    Des idées pour la partie Linux?

  9. #9
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Points : 24
    Points
    24
    Par défaut
    La méthode utilisant lspci n'est pas bonne cf :
    http://www.opengl.org/discussion_boa...&Number=243993

    Avis aux amateurs

  10. #10
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Points : 24
    Points
    24
    Par défaut
    Finalement, je laisse tomber la récupération sous Linux des infos pour les cartes ATI/AMD, au moins pour l'instant. Je me contenterai de parser les retours de la commande nvidia-settings.

    Il existe cependant une méthode générique (et qui ne concerne pas que les cartes vidéos) en passant par WBEM. En effet ça existe déjà sous Windows mais un projet open source permet d'avoir la même chose sous Linux et Mac :
    http://openwbem.sourceforge.net/

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

Discussions similaires

  1. Récupérer des informations sur un site web
    Par JnewB dans le forum Langage
    Réponses: 11
    Dernier message: 08/04/2007, 19h44
  2. Récupérer des informations sur les connexions réseau
    Par Leobaillard dans le forum Delphi
    Réponses: 8
    Dernier message: 31/08/2006, 01h20
  3. Récupérer des informations sur le matériel
    Par RaphAstronome dans le forum Windows
    Réponses: 5
    Dernier message: 31/03/2006, 15h32
  4. Récupérer des Informations sur un PC via un Réseau ?
    Par MaTHieU_ dans le forum Administration
    Réponses: 6
    Dernier message: 22/11/2005, 12h39
  5. Réponses: 6
    Dernier message: 28/09/2003, 17h49

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