我在Windows上使用C ++和Qt5.2,我使用QOpenGLContext
和QWindow来显示OpenGL的3D场景。
每次调用QOpenGLContext::swapbuffers()
时都会出现内存泄漏问题
我有一个名为RenderWindow
的类,它直接继承自QWindow
。
在渲染事件期间,我执行此函数:
void RenderWindow::doRender()
{
if(!isExposed())
return;
if(!mContext)
createContext();
mContext->makeCurrent(this);
//mDevice.setSize(size());
//for(Renderer* vRenderer : mRenderers)
// vRenderer->render();
mContext->swapBuffers(this);
mContext->doneCurrent();
}
当评论3个lignes时,屏幕上没有显示任何内容,只有黑色窗口。 这个功能将:
该课程的其余部分没有做更多的工作,juste管理计时器,初始化一些数据...
问题是这样,当我查看Windows任务管理器时,我发现我的程序每秒增长4Ko。
如果我评论mContext->swapBuffers(this)
,记忆力就不会增长。
我检查过,我只输入createContext();
一次。
我不知道这个记忆的来源,但它并没有停止。 有没有人有任何想法?
谢谢你, / OragonEfreet