Форум: "Основная";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];
ВнизПочему прога много занимает памяти? Найти похожие ветки
← →
PavelOKES (2003-10-09 13:13) [0]Прога весит 370Кб. (самоделка, висит в трее и переключает показ/не_показ картинки в IE. ) В памяти занимает 2,9 Мб! Кто-нить знает, почему так много жрется памяти? И как можно снизить расход памяти?
← →
clickmaker (2003-10-09 13:34) [1]Подробней: на чем написана, с использованием каких компонент, и как собственно с IE общается?
← →
PavelOKES (2003-10-09 13:39) [2]Написана на дельфи, само собой; использует децильный компонент TTrayComp, прямой потомок TComponent. С IE не общается, меняет настройки в реестре. (кстати, еще неплохо было бы заставить ее принудительно обновлять IE.)
← →
BOA_KAA (2003-10-09 13:44) [3]> PavelOKES
А чего общего между тем, сколько она занимает на диске и в ОП?
← →
han_malign (2003-10-09 13:47) [4]>децильный компонент TTrayComp
- компонент не может быть "децельным", потому что тянет за собой VCL, а это как минимум ~300 кило SysUtils(~100Кб в D6,D7)
← →
clickmaker (2003-10-09 13:49) [5]> неплохо было бы заставить ее принудительно обновлять IE
WM_SETTINGCHANGE с указанием ключа реестра не помогает ?
← →
PavelOKES (2003-10-09 13:54) [6]>> BOA_KAA
Ну а как же? Программа размещает в памяти свой код и динамические данные. Кода там практически никакого нет (по крайней мере, написанного мною), данных тоже. Динамических массивов я там не создаю. Так что получается, что это уже библиотеки подключаются... Плохо. В принципе, даже при моих 256 эти 3 мега не жалко, но обидно, что на всякую муть так нерационально тратится память.
← →
BOA_KAA (2003-10-09 13:55) [7]А ты подожди пэцл. Она успокоится, жрать меньше будет (кстати, я серьезно)
← →
PavelOKES (2003-10-09 13:56) [8]to clickmaker - ты предлагаешь найти все окна IE и послать его на WM_SETTINGCHANGE? Надо попробовать... Кстати, не знаешь тип окна? А то при поиске надо знать тип и/или заголовок. Заголовок, сам понимашь, не прет.
← →
PavelOKES (2003-10-09 13:56) [9]>> BOA_KAA
С утра жду. :-) у нас уже 15:56.
← →
Dimka Maslov (2003-10-09 14:00) [10]>PavelOKES
А чем это страшно, что твоя прога занимает 2,9 мегабайта памяти? Это как-то сказывается на производительности? Вот если бы она занимала 29 мегабайта, тогда нужно думать, что сделать, а так ты НИЧЕГО не сделаешь, чтобы снизить это число, которое к тому выдаётся с ошибками, ибо в него включается размер всех разделяемых и системных библиотек.
← →
Zhouck (2003-10-09 14:03) [11]Все дело в подгружаемых библиотеках. Я вот на асме под вынь написал блокнот, так он занимал 16 Кб, а в памяти - 600 Кб
← →
clickmaker (2003-10-09 14:04) [12]> PavelOKES (09.10.03 13:56) [8]
IEFrame
← →
PavelOKES (2003-10-09 14:07) [13]to Dimka Maslov >>
Спасибо, успокоил. :-) Нет, конечно, на производительности не сказывается.
Не помру, конечно, от нехватки памяти, просто мне было интересно выяснить причину пожирания памяти при таком маленьком exe-файле. Хорошо, конечно, что туда включен размер уже загруженных библиотек... а ну-как посчитаем... Суммарный размер всех процессов - 160Мб, а используется памяти - 204... Что-то не сходится.
← →
BOA_KAA (2003-10-09 14:18) [14]> Что-то не сходится
А чего ты считаешь?
← →
PavelOKES (2003-10-09 14:24) [15]Сумму памяти, занимаемой процессами и сравниваю ее с количеством задействованной памяти. Все это в диспетчере задач.
← →
clickmaker (2003-10-09 14:29) [16]Элементарнейшее Дельфовское приложение из одной формы с несколькими стандартными контролами занимает в среднем в памяти около 2 метров. А что делать, это плата за удобство VCL...
← →
Плохиш_ (2003-10-09 14:37) [17]>PavelOKES (09.10.03 14:24) [15]
> Сумму памяти, занимаемой процессами и сравниваю ее с количеством
> задействованной памяти. Все это в диспетчере задач.
Я плякал ...
Посмотри память в диспетчере задач для приложений в нормальном виде и минимизированном. Во удивишься :-)
← →
PavelOKES (2003-10-09 14:53) [18]to Плохош_. >> Не плакай. Тут нет ничего удивительного и странного. Когда, например, дельфа свернута, ей совершенно незачем жрать 40 мб оперативки, ее области сбрасываются в своп. А в диспетчере на закладке "Процессы" указывается именно оперативка, а не подкачка. Вот отсюда и разница.
← →
ZEE (2003-10-09 14:53) [19]0> clickmaker © (09.10.03 14:29) [16]
> Элементарнейшее Дельфовское приложение из одной формы с
> несколькими стандартными контролами занимает в среднем в
> памяти около 2 метров. А что делать, это плата за удобство
> VCL...
На Апи тоже не фонтан - прога: окно + тулбар + немного рисования на самой форме = 1928Кб в памяти :(
← →
Mystic (2003-10-09 15:06) [20]А такой вопрос: есть библиотека DLL, которую используют три процесса. Секция кода, к какому процессу ее приплюсовать? Имхо, Task manager плюсует ее ко всем. Так что это несколько необъективное число...
← →
ZEE (2003-10-09 15:14) [21]>Mystic © (09.10.03 15:06) [20]
>Task manager плюсует ее ко всем.
думается не ко всем - есть процессы и по 16, 84, 96 Кб
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.012 c