![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по 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));