Qt5内存使用量取决于窗口大小?

时间:2013-01-08 09:36:17

标签: c++ qt window mingw qt5

我是Qt的新手所以也许这只是一个愚蠢的问题...

我有简单的demo-Application。 main.cpp中

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

和mainwindow.cpp

#include "mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
}

MainWindow::~MainWindow()
{

}

当我启动应用程序时,内存使用量约为2MB ...当我最大化窗口时,使用量大约为10MB。为什么会这样,以及如何解决这个问题?我以为Qt使用WinAPI来创建窗口?

P.S。我使用Qt的静态构建(发布构建而不是调试)

3 个答案:

答案 0 :(得分:2)

您没有内存泄漏,更大的窗口需要更多绘图,这需要更多内存来绘制。 Qt5有点引人注意,因为很多绘图已经转移到OpenGL,后者对内存有点贪心。

答案 1 :(得分:1)

我的猜测是,这可能至少部分是由双缓冲造成的(窗口越大,缓冲区域越大)。

这些天10 MB的内存不是很多,所以如果你知道你没有任何内存泄漏,那就别担心了。

答案 2 :(得分:1)

这不是Qt问题。

打开notepad ++并最大化它,你会看到内存使用率更高。