Je veux déterminer par programme lors de l'exécution la quantité de mémoire de carte vidéo utilisée par mon programme. Plus précisément, je me demande comment le faire sur une machine Windows en utilisant OpenGL, mais je suis également intéressé par des moyens de le faire sur d'autres plates-formes.
Je sais qu'il existe des utilitaires qui me montreront l'utilisation de la mémoire pendant l'exécution de mon programme, mais je veux pouvoir interroger ces informations à partir de mon code.
Réponses:
Vous pouvez trouver la mémoire vidéo d'une carte Nvidia en utilisant l' extension NVX_gpu_memory_info , ou une carte ATI en utilisant ATI_meminfo . Voici un extrait de code que j'ai trouvé qui pourrait vous aider à démarrer.
Cependant, Paul Nettle sur flipcode se demande pourquoi on voudrait trouver la mémoire vidéo disponible, en disant :
Et poursuit en expliquant, en substance, qu'une «quantité de mémoire vidéo» pourrait ne rien signifier réellement . Je suis d'accord avec lui sur le raisonnement selon lequel, par exemple, la quantité de mémoire "libre" dans une machine Windows Vista / 7 n'est pas pertinente; j'espère qu'il n'y a pas de mémoire libre, car la mémoire libre est de la mémoire gaspillée. Mais il existe toujours des zones de mémoire dédiées aux caches qui sont effacées par Windows, si une application en avait besoin.
la source