Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Размер приложения в памяти


Antonn ©   (2005-05-12 07:03:00) 

Здравствуйте! Запускаю программу, смотрю в диспетчер задач, там моя программа занимает 13 мегабайт(примерно). делаю в программе application.minimize и после ресторе, и размер программы опускается до 3-4 мегабайт. Правда после переоткрытия окон, смены скинов и тп размер снова увеличивается. Так вот вопрос - что такое происходит при application.minimize и как можно этот эффект повторить без сворачивания окна(точнее можно свернуть главное, но не сворачивать остальные)?


vidiv   (2005-05-23 08:46:00) [1]

Кинь на форму кнопку,  с таким обработчиком:

procedure TForm1.Button1Click(Sender: TObject);
var s:array of byte;
begin
 SetLength(s, maxint div 8);
 s[0]:=1+1;
 caption := inttostr(s[0]);
 // Последние две строки - имитация использования
end;

Запусти и нажми на кнопку. Программа естественно повиснет ненадолго, но после того как отойдет глянь сколько она занимает=)
Если не впечатлил, замени   maxint div 8на maxint div 4.
у меня 2метровая прога "сжалась" до 800 кб =)


Antonn   (2005-05-23 06:41:00) [2]

MaFon   (22.05.05 23:37) [11]
приложение, довольно требовательное.


Anatoly Podgoretsky   (2005-05-22 23:54:00) [3]

GrayFace ©   (16.05.05 15:41) [9]
Первые два для пользовательских данных, верхнии для системных, например системные длл и прочее, но все равно это свои, а не чужии, никому другому не принадлежат.


MaFon   (2005-05-22 23:37:00) [4]

А чта такое ФарКрай?


Bil Bal Dur   (2005-05-16 17:21:00) [5]

SetProcessWorkingSetSize(GetCurrentProcess,dword(-1),dword(-1));


GrayFace   (2005-05-16 15:41:00) [6]

Anatoly Podgoretsky ©   (12.05.05 9:04) [2]
Нет. Только 2GB. 3 от силы, начиная с 2000.


OSokin   (2005-05-15 17:21:00) [7]

Имхо, просто "замораживается" DC - не используется, и из-за этого снижается размер приложения в памяти. К тому же не происходит обращения к процедурам перерисовки.


Antonn   (2005-05-13 07:52:00) [8]

Anatoly Podgoretsky ©   (12.05.05 21:08) [6]
Ну не серьезно, какая то мелкая,

не достаточно мелкая, есть куда стремиться.
Я вот поэксперементировал, оказалось, после запуска/закрытия FarCry, моя прога, по идее, скидывается в виртуальную память, и размер виртуальной памяти увеличивается с 10 до 13,7 мегабайт и назад уже не уменьшается, даже если поднатужиться и довести размер программы с оперативке до 20 мегов.


Anatoly Podgoretsky   (2005-05-12 21:08:00) [9]

Antonn ©   (12.05.05 13:15) [4]
Ну не серьезно, какая то мелкая, другое дело мегабайт 500


debuger   (2005-05-12 20:59:00) [10]

[4] asm?


Antonn   (2005-05-12 13:15:00) [11]

Skyle ©   (12.05.05 9:34) [3]
Ничего такого, что могло бы тебя заинтересовать...

Думаю, если уж спросил, значит заинтересовало

И вллбще, мне больше нравится, когда в диспетчере моя прога занимает не 13 а 4 мегабайта:)


Skyle   (2005-05-12 09:34:00) [12]

>  Antonn ©   (12.05.05 07:03)
> что такое происходит при application.minimize
Ничего такого, что могло бы тебя заинтересовать...

Используемое место признано временно ненужным и ушло в swap.
Самый лучший способ разгрузить оперативку - сделать так, чтобы твоя программа ничего не делала ;-)


Anatoly Podgoretsky   (2005-05-12 09:04:00) [13]

Antonn ©   (12.05.05 07:03)  
А чего ты волнуешь, все 4 гб твои, ни с кем не делятся.


GreatMaster   (2005-05-12 08:19:00) [14]

Сделай Вид - Выбрать столбцы - Размер ВИРТУАЛЬНОЙ памяти
и увидишь что он не меняется при минимизации.
а то что уменьшается при минимизации - это вроде как объём физ. памяти освобождается системой и скидывается в виртуальную, типа чтоб другим легче дышалось. Фигня вобщем :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо