Re[4]: [qt] рсход памяти
От: Аноним  
Дата: 15.11.09 18:07
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>В том то и дело что я проверял: ~80 метров.


А>Фиг знает что ты проверял.

А>Без когда ты можешь утверждать все что угодно.
А>Все равно никто не проверит.

А>Но вот мой опыт твое утверждение не подтверждает.


Хорошо без проблем, простейший пример

#include <QtGui>
#include <QtGui>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QMainWindow w;
    w.showMaximized();
    for(int a=0;a<10;a++)
    {
        QDialog *p = new QDialog(&w);
        p->setAttribute(Qt::WA_DeleteOnClose);
        p->showMaximized();
    }
    return a.exec();
}

Используемый объем памяти:
Если конец цикла = 0 (создается только QMainWindow) ~11 мб,
Если конец цикла = 1 ~16мб
Если конец цикла = 10 ~58 мб.
(Все компилировал в релизе)
По-моему очевиден прирост на каждое полноэкранное диалоговое окно по 5 мб, что подтверждает вышеприведенную формулу.
Хорошо, пример слишком прост и ничего общего с реальны приложением не имеет.
Тогда попробуйте открыть browser из демок.
Далее History/show all history (+2мб)
Растянуть окно на весь экран (еще +4 мб)
А теперь закройте окно и объем используемой памяти не изменится!!!!
Если повторять эту последовательность несколько раз можно легко довести разход памяти до 100
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.