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 Discussion :

Taille totale de la mémoire vidéo


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Par défaut Taille totale de la mémoire vidéo
    Bonjour,

    Pour les besoins personnel d'un projet, je souhaiterai pouvoir récupérer la taille totale de la mémoire vidéo de ma carte graphique sous Windows en C++. Comment puis-je m'y prendre ? Merci d'avance pour votre aide.


    Nico.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Par défaut
    -> GetAvailableVidMem() dans l'interface DirectDraw.

    Il y a certainement d'autres façons de le faire mais personnellement je ne connais que celle-là.

  3. #3
    Membre éclairé Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Par défaut
    Après trouvé un morceau de code sur le net, j'ai compilé et exécuté mon programme sous Code::Blocks. Par contre, je rencontre un problème : l'exécutable plante lorsque je le lance et j'obtiens la traditionnelle popup windows XP me proposant d'envoyer l'erreur à Microsoft. En analysant plus finement le problème, je me suis aperçu que le plantage est provoqué par l'appel à la fonction 'QueryInterface'. Voici le code du programme :

    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
    #include <cstdio>
    #include <windows.h>
    #include <ddraw.h>
    
    
    int main()
    {
            DWORD dwTotal, dwFree;
            DDSCAPS2 ddscaps;
            ddscaps.dwCaps = DDSCAPS_VIDEOMEMORY;
            LPDIRECTDRAW7 lpDD;
    
            lpDD->QueryInterface(IID_IDirectDraw7, (LPVOID *)&lpDD);
    }
    Pour information, je linke le programme avec les bibliothèques ddraw et dxguid. Savez-vous pourquoi le programme plante et comment je peux éviter cela ?

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Par défaut
    C'est pourtant simple: le pointeur lpDD n'est pas initialisé avant utilisation dans ton code !!

    Essaie plutôt ça, ça devrait faire moins mal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DirectDrawCreateEx(0, (LPVOID*) &lpDD), IID_IDirectDraw7, 0);

  5. #5
    Membre éclairé Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Par défaut
    Bon j'ai rajouté le bout de code pour l'initialisation du pointeur mais j'ai un autre problème. Lorsque je compile le code, j'obtiens cette erreur-là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    undefined reference to `DirectDrawCreateEx@16'
    Pourtant j'ai bien inclu le fichier 'ddraw.h' et j'ai linké avec la bibliothèque 'ddraw.lib' ...

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Par défaut
    Citation Envoyé par nicolas66
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    undefined reference to `DirectDrawCreateEx@16'
    Une erreur de linkage donc.

    Quel compilo et quel SDK utilises-tu ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/10/2014, 19h53
  2. Taille totale
    Par djunityfr dans le forum Linux
    Réponses: 2
    Dernier message: 26/03/2006, 11h52
  3. Mémoire vidéo (texte)
    Par julson dans le forum Assembleur
    Réponses: 17
    Dernier message: 20/04/2005, 13h31
  4. Vitesse de la mémoire vidéo
    Par Anonymous dans le forum x86 16-bits
    Réponses: 3
    Dernier message: 06/06/2002, 21h20

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