Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.23;
Скачать: CL | DM;

Вниз

Почему прога много занимает памяти?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.018 c
1-74246
able
2003-10-13 20:06
2003.10.23
Люди добрые! Очень надо!!


1-74155
Relaxxx
2003-10-10 17:03
2003.10.23
Как мне узнать какой разделитель используе........


3-74037
alxx
2003-10-03 12:05
2003.10.23
Имя хоста из current activity


6-74364
Николай
2003-08-25 16:22
2003.10.23
TCP/IP


3-74089
LiO
2003-10-02 06:07
2003.10.23
проблема с ADO+MS SQL