Quiero determinar mediante programación en tiempo de ejecución cuánta memoria de la tarjeta de video está utilizando mi programa. Específicamente, me pregunto cómo hacerlo en una máquina con Windows usando OpenGL, pero también me interesan las formas de hacerlo en otras plataformas.
Sé que existen utilidades que me mostrarán el uso de la memoria a medida que se ejecuta mi programa, pero quiero poder consultar esa información desde mi código.
Respuestas:
Puede encontrar la memoria de video de una tarjeta Nvidia usando la extensión NVX_gpu_memory_info , o una tarjeta ATI usando ATI_meminfo . Aquí hay un fragmento de código que encontré que podría ayudarlo a comenzar.
Sin embargo, Paul Nettle en flipcode se pregunta por qué querría encontrar la memoria de video disponible, y dice :
Y continúa explicando, en esencia, que una "cantidad de memoria de video" en realidad podría no significar nada . Estoy de acuerdo con él en el razonamiento de que, por ejemplo, la cantidad de memoria "libre" en una máquina con Windows Vista / 7 es irrelevante; ojalá no haya memoria libre, porque la memoria libre es memoria desperdiciada. Pero siempre hay algunas áreas de memoria dedicadas a cachés que Windows borra, en caso de que una aplicación las necesite.
fuente