Конференция "KOL" » Вопрос по OpenSaveDialog'у [Delphi, Vista]
 
  • Elec3C © (05.11.07 23:47) [0]
    Почему OpenSaveDialog(из KOl или из VCL) добавляет к программе 4 мб(5 в XP) к опер. памяти(ОП)?

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

    P.S. Хотя бы при закрытии далога выгружала тех 4 или 5 несчастных метров.
  • Compiler © (06.11.07 00:02) [1]
    А если
     SetprocessWorkingSetSize(GetCurrentProcess,Cardinal(-1),Cardinal(-1));

  • Elec3C © (06.11.07 15:11) [2]
    Супер! Спасибо.
  • Elec3C © (06.11.07 15:22) [3]
    Посл. вопрос: Это влияет на производительность приложения?
  • =BuckLr= (06.11.07 15:43) [4]
    И мне интересно. По идее, когда делаешь SetprocessWorkingSetSize, менеджер памяти скидывает память, выделенную программе, на винт. Т.е. это всё потом предстоит прочитать с винта. Я пробовал на приложении всл. Когда оно запускалось, занимало в памяти около2,8 мб. После SetprocessWorkingSetSize штатный диспетчер задач показал 500 с чем-то кило, потом, в течение 10-20 секунд значение выросло до 1,2 мб. Так что же занимало остальные 1,6 мб? Кто знает?
  • Elec3C © (06.11.07 17:35) [5]
    Хм?! Я так и не понял, что-же всё-таки делает эта функция: Очищает память или тупо скидывает, то что в памяти программы на диск(т.б. винт)?
  • =BuckLr= (07.11.07 10:27) [6]

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

    Из справки я так и понял
  • miek (08.11.07 08:06) [7]
    >Так что же занимало остальные 1,6 мб? Кто знает?
    при запуске проги закэшился весь (или почти весь) ее EXE-образ, а когда ты вызвал функцию, обратно в память прочитались только те страницы, которые использовались в момент работы программы.
 
Конференция "KOL" » Вопрос по OpenSaveDialog'у [Delphi, Vista]
Есть новые Нет новых   [134431   +10][b:0][p:0.001]