C++ Qt5内存使用情况取决于窗口大小?
我是Qt新手,所以这可能只是个愚蠢的问题 我有一个简单的演示应用程序。 main.cppC++ Qt5内存使用情况取决于窗口大小?,c++,qt,window,mingw,qt5,C++,Qt,Window,Mingw,Qt5,我是Qt新手,所以这可能只是个愚蠢的问题 我有一个简单的演示应用程序。 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)
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来创建窗口
另外,我使用Qt的静态构建(发布构建而非调试)我的猜测是,这可能至少部分是由双缓冲造成的(窗口越大,缓冲区域越大)
现在10 MB的内存不是很多,所以如果你知道没有内存泄漏,就不用担心了。我猜这至少部分是由双缓冲造成的(窗口越大,缓冲区越大)
现在10MB的内存不是很多,所以如果你知道没有内存泄漏,就不用担心了。这不是Qt问题
打开记事本++并将其最大化,您将看到内存使用率更高。这不是Qt问题
打开记事本++并将其最大化,您将看到内存使用率更高。您没有内存泄漏,更大的窗口需要更多的绘图,这需要更多的内存来绘图。Qt5更值得注意的是,大部分图形都被转移到了OpenGL中,而OpenGL对内存更为贪婪 您没有内存泄漏,更大的窗口需要更多的绘图,这需要更多的内存来绘图。Qt5更值得注意的是,大部分图形都被转移到了OpenGL中,而OpenGL对内存更为贪婪