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

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

Вопрос по OpenSaveDialog'у [Delphi, Vista]


Elec3C ©   (2007-11-05 23:47:00) 

Почему OpenSaveDialog(из KOl или из VCL) добавляет к программе 4 мб(5 в XP) к опер. памяти(ОП)?

Сначала программа весит в ОП, допустим, 1.3 мб, но стоит открыть диалог и всё => +4-5 мб к ОП добавляет. При закрытии выгружает только метр(т.б. если при диалоге
прога весила 5 мб, то после закрытия 4 мб). Пробовал Dialog.Free => результат нулевой.

P.S. Хотя бы при закрытии далога выгружала тех 4 или 5 несчастных метров.


miek   (2007-11-08 08:06:00) [1]

>Так что же занимало остальные 1,6 мб? Кто знает?
при запуске проги закэшился весь (или почти весь) ее EXE-образ, а когда ты вызвал функцию, обратно в память прочитались только те страницы, которые использовались в момент работы программы.


=BuckLr=   (2007-11-07 10:27:00) [2]


> тупо скидывает

Из справки я так и понял


Elec3C   (2007-11-06 17:35:00) [3]

Хм?! Я так и не понял, что-же всё-таки делает эта функция: Очищает память или тупо скидывает, то что в памяти программы на диск(т.б. винт)?


=BuckLr=   (2007-11-06 15:43:00) [4]

И мне интересно. По идее, когда делаешь SetprocessWorkingSetSize, менеджер памяти скидывает память, выделенную программе, на винт. Т.е. это всё потом предстоит прочитать с винта. Я пробовал на приложении всл. Когда оно запускалось, занимало в памяти около2,8 мб. После SetprocessWorkingSetSize штатный диспетчер задач показал 500 с чем-то кило, потом, в течение 10-20 секунд значение выросло до 1,2 мб. Так что же занимало остальные 1,6 мб? Кто знает?


Elec3C   (2007-11-06 15:22:00) [5]

Посл. вопрос: Это влияет на производительность приложения?


Elec3C   (2007-11-06 15:11:00) [6]

Супер! Спасибо.


Compiler   (2007-11-06 00:02:00) [7]

А если  SetprocessWorkingSetSize(GetCurrentProcess,Cardinal(-1),Cardinal(-1));


Наверх

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