Russian Qt Forum

Qt => Общие вопросы => Тема начата: Jkc от Сентябрь 03, 2007, 11:23



Название: Как изменить размер программы при загрузке? qt3.3.4
Отправлено: Jkc от Сентябрь 03, 2007, 11:23
Есть программа написаная на Qt 3.3.4 при её запуске под виндой она занимает 10мб но после сворачичивания на панель и разворачивания занимает всего 3мб. Можно как то сделать что бы и при запуске она занимала 3мб?


Название: Re: Как изменить размер программы при загрузке? qt3.3.4
Отправлено: Пантер от Сентябрь 03, 2007, 11:47
А вы точно уверены, что размер уменьшается именно от сворачивания?


Название: Re: Как изменить размер программы при загрузке? qt3.3.4
Отправлено: Jkc от Сентябрь 03, 2007, 12:40
А вы точно уверены, что размер уменьшается именно от сворачивания?

Ну больше нечего не делал. Свернул и развернул.


Название: Re: Как изменить размер программы при загрузке? qt3.3.4
Отправлено: Пантер от Сентябрь 04, 2007, 11:39
Может по времени что-то освободилось. От сворачивания-разворачивания врядли освободится память. Кидай код, может там что-то не то.


Название: Re: Как изменить размер программы при загрузке? qt3.3.4
Отправлено: Jkc от Сентябрь 04, 2007, 12:55
Может по времени что-то освободилось. От сворачивания-разворачивания врядли освободится память. Кидай код, может там что-то не то.
Код большой, какую именно часть?


Название: Re: Как изменить размер программы при загрузке? qt3.3.4
Отправлено: vaprele07 от Сентябрь 04, 2007, 13:32
Эта фишка на всех приложениях работает, наверное во время сворачивания происходит сбор активных страниц в своп  ::) должно быть Рихтер или Руссинович об этом упоминали в своих трудах...


Название: Re: Как изменить размер программы при загрузке? qt3.3.4
Отправлено: noosooth от Сентябрь 04, 2007, 13:58
Эта фишка на всех приложениях работает, наверное во время сворачивания происходит сбор активных страниц в своп  ::)
Похоже,что так (http://support.microsoft.com/default.aspx?scid=kb;en-us;Q293215).

to Jkc:
Вероятно можно поиграться с апишной SetProcessWorkingSetSize(Handle, -1, -1), сразу после загрузки.
Или с EmptyWorkingSet(Handle) из Psapi.lib.
Но не факт, что это есть гуд.


Название: Re: Как изменить размер программы при загрузке? qt3.3.4
Отправлено: Пантер от Сентябрь 06, 2007, 11:11
Вот такой код успешно уменьшает размер в 3 раза на куте 4.3.1
Код:
MainWindowImpl win;
win.show();
win.setUpdatesEnabled(false);
Qt::WindowStates WinState=win.windowState();
win.setWindowState(Qt::WindowMinimized);
win.setWindowState(Qt::WindowActive);
win.setWindowState(WinState);
win.setUpdatesEnabled(true);