我試圖從我的視頻卡使用原生QT的OpenGL獲得GPU內存的總量,我嘗試了數百種方法,但沒有一個能夠工作。 這是我的時刻:如何使用Qt的原生OpenGL獲取我的GPU總內存?
QOpenGLContext context;
context.create();
QOffscreenSurface surface;
surface.setFormat(context.format());
surface.create();
QOpenGLFunctions func;
context.makeCurrent(&surface);
func.initializeOpenGLFunctions();
GLint total_mem_kb = 0;
func.glGetIntegerv(GL_GPU_MEM_INFO_TOTAL_AVAILABLE_MEM_NVX,&total_mem_kb);
qDebug()<<total_mem_kb;
的問題是變量total_mem_kb始終爲0,它沒有得到glGetIntegerv內的值。通過運行這個代碼,我得到0.可能是什麼問題?你能給我一個提示嗎?
[Qt的5.5和OpenGL:檢索設備信息]的可能的複製(http://stackoverflow.com/questions/32386770/qt-5-5-and-opengl -retrieving-device-info) – Vallentin
@Vallentin,我看到了一個,它不一樣。 glGetString對我來說工作正常,但上面的代碼不能按照它的方式工作。 –
你可以更具體的「不工作」。請注意'GL_NVX_gpu_memory_info'是一個Nvidia擴展。所以如果你的顯卡不是Nvidia,那麼支持這款擴展的機會很渺茫。 – Vallentin