私のアプリケーションには、メイン クロックとして QTimer と GLCanvas オブジェクトが含まれています。タイマーはキャンバスの updateGL 関数を呼び出しており、updateGL は次に paintGL を呼び出します。
paintGL が完全に空で、何もレンダリングされていない場合でも、約 100kb/s の大きなメモリ リークが発生することに気付きました。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
}