QT OpenGL内存泄漏

时间:2013-06-14 23:32:24

标签: c++ qt opengl memory-leaks

我的应用程序包含一个QTimer,作为主时钟和一个GLCanvas对象。计时器调用canvas updateGL函数,然后updateGL调用paintGL。

我注意到大约100kb / s的大内存泄漏,即使paintGL完全为空并且没有渲染任何内容也存在。如果我停止updateGL调用,内存泄漏就会消失。

虽然我的所有代码都已注释掉,但泄漏仍然存在。我需要做某种清算,还是犯了错误?任何帮助将不胜感激。

    void GLCanvas::initializeGL() {
        glClearColor(21.0f/256.0f,21.0f/256.0f, 21.0f/256.0f, 1);
        glEnable(GL_DEPTH_TEST);
        glDepthFunc(GL_LEQUAL);
    }

    void GLCanvas::resizeGL(int width, int height) {
        glViewport(0, 0, width, height);
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
        gluPerspective(45, (float)width/(float)height, 1, 1000);
        glMatrixMode(GL_MODELVIEW);
    }



    void GLCanvas::paintGL() {
        // Nothing
    }

1 个答案:

答案 0 :(得分:0)

您的计时器多久调用一次update()?

什么是计时器?也许你可以通过Qtimer来完成这项重要任务。