2013-01-08 86 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上,這對內存來說更加貪婪。

相關問題