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

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

Размер программы


Страницы:   1 2

Swinger ©   (2002-03-29 21:42:00) 

Уважаемые мастаки! Я пишу программу на подобии ICQ и у меня аткой вопрос:
При компиляции моя программа занимает 869 кб. При запуске уже в памяти она занимает почему-то 7520 кб! Почему? И ещё такой вопрос: почему после того как я поудалял все красоты (типа меню в стиле ХР и т.д.), удалил все ненужные библиотеки из uses, екзешник уменьшился только на 2 кб! А в памяти на только на 350 кб! Почему? И можно уменьшить размер программы в памяти, не убирая FORMS из uses? (я конечно могу убрать эти формы, но тогда прийдётся всё вручную делать.. :(:(:(:()


Alex_LG   (2002-04-01 21:17:00) [1]

с мировым мнением спорить не буду - что хотят, то и думают, я не против
просто из СВОЕГО опыта знаю, что с их компонентами лучше не связываться: программка почти ничего не делает, а проц аж дымится от перегрузок :)

это не значит, конечно, что в данном случае проблема именно (и только) в этих компонентах


Anatoly Podgoretsky   (2002-04-01 11:18:00) [2]

В мире про NetMasters думают иначе


Alex_LG   (2002-04-01 04:50:00) [3]

добавлю: вообще-то и обычные TClientSocket и TServerSocket неплохи :)


Alex_LG   (2002-04-01 04:48:00) [4]


> Swinger © (30.03.02 12:02)
> Видимо эти компоненты FastNet очень
> сильно память жрут. Может кто знает, какой компонент выбрать
> вместо них для посылки сообщений?


я в своё время тоже намучился с компонентами от NetMasters !!!
и память, и проц загружают ктастрофически!!! глючат. неудобны.
не понимаю, почему в Дельфи их вообще включают? да в стандартный набор...
пользуй Indy : http://www.nevrona.com/indy/


ZZ   (2002-04-01 00:40:00) [5]

Swinger
Ну так в меню вид | выбрать столбцы | [X] Объем виртуатьный памяти

Goblinus
Интересная идея. Объясни пожалуста какой эффект ты ожидаешь после создания этого ключа?

ЗЫ.Swinger скорее всего ключ в explorer, но типа DWORD.


Swinger   (2002-03-31 23:08:00) [6]

2Goblinus: Я чуть-чуть запутался.. надо Key создать и в нём уже String Value, или вообще в корне Explorer создать String Value - AlwaysUnloadDll???


Swinger   (2002-03-31 23:05:00) [7]

2 Goblinus: Спасибо! Обязательно попробую! А это системе не повредит? Т.е. не станет она менее стабильной от этого?

2 ZZ: В ХР когда жмёшь любимые три клавиши появляется окошко, где выведены все процессы: объём памяти, который они занимают и процессорное время (ну или загрузка проца.. не обращал внимание)


Goblinus   (2002-03-31 00:01:00) [8]

Правильно вроде бы говорят - программа вызывает DLL"ки. Избавляешься от этого так (во всяком случае, так в Windows XP):

В реестре находится ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVershion\Explorer];
Создаётся новый подключ AlwaysUnloadDLL;
Для него устанавливается значение 1;
Перезагружается компьютер;
Всё!!!

www.computerra.ru


ZZ   (2002-03-30 23:46:00) [9]

А если эту программу оставить в покое (и свернуть) на 5 минут, то она начинает весить 300 кб.. а при попытке подконнектиться - сразу же 3000 кб.

Расскажи как определяешь объем занимаемой памяти ? И главное какой памяти? Посмотри где нибудь кол-во виртуальной памяти и сложи его с занимаемой оперативкой. Если ничего с прогой не делаешь, то эта величина будет примерно постоянная (в пределах погрешности :)).

И это при том, что я максимально стараюсь экономить ресурсы!!
Тогда старайся поменьше экономить :)


Keymaster   (2002-03-30 23:05:00) [10]

один из законов Мерфи для программистов: любая программа после запуска стремиться занять максимально возможное количество памяти


Вадим   (2002-03-30 22:56:00) [11]

Патамучта она при запуске подгружает нужные ей dll"ки


Swinger   (2002-03-30 22:01:00) [12]

Так я всё равно не могу понять, почему программа при запуске в памяти занимает в 10 раз больше места чем на харде!?? ПОЧЕМУ? И это при том, что я максимально стараюсь экономить ресурсы!! Закрываю всё, что могу сразу после использования! Картинки вообще все вырезал! Сторонние компоненты все удалил!


Anatoly Podgoretsky   (2002-03-30 14:46:00) [13]

Ну тебе же сказали, дело не в компоненте


Swinger   (2002-03-30 14:37:00) [14]

Ну подскажите же кто-нибудь.. :(


Swinger   (2002-03-30 12:02:00) [15]

1) Избавился от AdoConnection
2) Везде где открываю ADOQuery (Open или ExecSQL), то сразу же после использования закрываю (AdoQuery.Close)
2) NMMSGSERVER и NMMSG к сожалению закрыть нельзя (они постоянно должны ждать сообщений).
3) PopUp и Listbox, понятно, закрыть нельзя.. :)
В чём может ещё быть ошибка?
Кстати я заметил следующее:
Программа-сервер занимает в памяти 3 мегабайта. Хотя там только одна форма и на ней всего лишь 1 NMMSGServer, 1 NMMSG, 1 AdoConnection, 1 AdoQuery.
А если эту программу оставить в покое (и свернуть) на 5 минут, то она начинает весить 300 кб.. а при попытке подконнектиться - сразу же 3000 кб. Видимо эти компоненты FastNet очень сильно память жрут. Может кто знает, какой компонент выбрать вместо них для посылки сообщений?


Anatoly Podgoretsky   (2002-03-30 11:32:00) [16]

У тебя явно серьезные ошибки при работе с памятью, захватываешь ресурсы и не освобождаешь


Swinger   (2002-03-30 11:03:00) [17]

И почему при загрузке программа вначале весит 480 кб, потом через секунду, уже 5000, а потом 7000!! ???? Я вообще все красоты вырезал! У мяен теперь на форме только следующие компоненты: 1 TListBox, 2 TPopupMenu, 1 TImageList, 1 NMMSGServer, 1 NMMSG, 1 AdoConnection, 1 AdoQuery. Все эти компоненты не сторонние, а входят в комплект Д6.


Swinger   (2002-03-29 23:34:00) [18]

Тут что-то непонятное твориться.. прграмма ничего не делает, не посылает ничего никому, зато иногдаберёт и накидывает себе несколько килобайт... ну не маразм ли это? откуда это берётся?


Anatoly Podgoretsky   (2002-03-29 23:17:00) [19]

Не ясно, при каждом создании и освобождении теряешь 180к, тогда у тебя ошибка в программе


Swinger   (2002-03-29 23:13:00) [20]

Так в том-то и дело! Создал много-много копий формы.. потом их все закрыл... а памяти освободилось совсем чуть-чуть!! почему?
И мне всё интересно, почему программа, которая после копиляции занимает примерно 800 кб, в памяти занимает 8000 кб!!???


Страницы:   1 2

Наверх

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