2013-01-08 133 views
0

我是Qt新手,所以也许这只是一个愚蠢的问题...Qt5的内存使用量取决于窗口大小?

我有简单的演示应用程序。 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(发布版本不调试)

回答

1

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

最近10 MB内存不是很多,所以如果你知道你没有任何内存泄漏,就不要担心。

1

这不是一个Qt问题。

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

2

您没有内存泄漏,较大的窗口需要更多的绘图,这需要更多的内存来绘制。 Qt5更引人注目,因为很多绘图已经移到了OpenGL上,这对内存来说更加贪婪。

相关问题