1

私は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)
    : QMainWindow(parent)
{
}

MainWindow::~MainWindow()
{

}

アプリケーションを起動すると、メモリ使用量は約 2MB です。ウィンドウを最大化すると、使用量は約 10MB です。なぜこれが起こり、どのように解決するのですか?Qt は WinAPI を使用してウィンドウを作成すると思いましたか?

PS私はQtの静的ビルドを使用しています(デバッグではなくリリースビルド)

4

3 に答える 3

2

メモリ リークはありません。ウィンドウが大きくなると、より多くの描画が必要になり、描画するためにより多くのメモリが必要になります。描画の多くが OpenGL に移動されたため、Qt5 ではもう少し目立ちますが、これはメモリにもう少し貪欲です。

于 2013-01-08T14:46:57.847 に答える
1

私の推測では、これは少なくとも部分的にダブルバッファリングが原因である可能性があります(ウィンドウが大きいほど、バッファリングする領域が大きくなります)。

最近の10MBのメモリはそれほど多くないので、メモリリークがないことがわかっている場合は、心配する必要はありません。

于 2013-01-08T09:58:53.767 に答える
1

これは Qt の問題ではありません。

notepad ++を開いて最大化すると、メモリ使用量が高くなることがわかります。

于 2013-01-08T10:45:28.417 に答える