Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
ВнизРазмер программы Найти похожие ветки
← →
Swinger (2002-03-29 21:42) [0]Уважаемые мастаки! Я пишу программу на подобии ICQ и у меня аткой вопрос:
При компиляции моя программа занимает 869 кб. При запуске уже в памяти она занимает почему-то 7520 кб! Почему? И ещё такой вопрос: почему после того как я поудалял все красоты (типа меню в стиле ХР и т.д.), удалил все ненужные библиотеки из uses, екзешник уменьшился только на 2 кб! А в памяти на только на 350 кб! Почему? И можно уменьшить размер программы в памяти, не убирая FORMS из uses? (я конечно могу убрать эти формы, но тогда прийдётся всё вручную делать.. :(:(:(:()
← →
Swinger (2002-03-29 22:38) [1]И сюда же ещё один вопрос: Почему когда динамически создаётся форма, то в памяти программа начинает занимать на 200 кб больше, а когда я удаляю форму Action:= CAFREE; то размер в памяти уменьшается только на 20 кб??!!!
← →
Anatoly Podgoretsky (2002-03-29 22:51) [2]А ты создай 100 раз и осводи, если есть утечка, то сразу узнаешь, если нет то так системе нужно
← →
Swinger (2002-03-29 23:13) [3]Так в том-то и дело! Создал много-много копий формы.. потом их все закрыл... а памяти освободилось совсем чуть-чуть!! почему?
И мне всё интересно, почему программа, которая после копиляции занимает примерно 800 кб, в памяти занимает 8000 кб!!???
← →
Anatoly Podgoretsky (2002-03-29 23:17) [4]Не ясно, при каждом создании и освобождении теряешь 180к, тогда у тебя ошибка в программе
← →
Swinger (2002-03-29 23:34) [5]Тут что-то непонятное твориться.. прграмма ничего не делает, не посылает ничего никому, зато иногдаберёт и накидывает себе несколько килобайт... ну не маразм ли это? откуда это берётся?
← →
Swinger (2002-03-30 11:03) [6]И почему при загрузке программа вначале весит 480 кб, потом через секунду, уже 5000, а потом 7000!! ???? Я вообще все красоты вырезал! У мяен теперь на форме только следующие компоненты: 1 TListBox, 2 TPopupMenu, 1 TImageList, 1 NMMSGServer, 1 NMMSG, 1 AdoConnection, 1 AdoQuery. Все эти компоненты не сторонние, а входят в комплект Д6.
← →
Anatoly Podgoretsky (2002-03-30 11:32) [7]У тебя явно серьезные ошибки при работе с памятью, захватываешь ресурсы и не освобождаешь
← →
Swinger (2002-03-30 12:02) [8]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 очень сильно память жрут. Может кто знает, какой компонент выбрать вместо них для посылки сообщений?
← →
Swinger (2002-03-30 14:37) [9]Ну подскажите же кто-нибудь.. :(
← →
Anatoly Podgoretsky (2002-03-30 14:46) [10]Ну тебе же сказали, дело не в компоненте
← →
Swinger (2002-03-30 22:01) [11]Так я всё равно не могу понять, почему программа при запуске в памяти занимает в 10 раз больше места чем на харде!?? ПОЧЕМУ? И это при том, что я максимально стараюсь экономить ресурсы!! Закрываю всё, что могу сразу после использования! Картинки вообще все вырезал! Сторонние компоненты все удалил!
← →
Вадим (2002-03-30 22:56) [12]Патамучта она при запуске подгружает нужные ей dll"ки
← →
Keymaster (2002-03-30 23:05) [13]один из законов Мерфи для программистов: любая программа после запуска стремиться занять максимально возможное количество памяти
← →
ZZ (2002-03-30 23:46) [14]А если эту программу оставить в покое (и свернуть) на 5 минут, то она начинает весить 300 кб.. а при попытке подконнектиться - сразу же 3000 кб.
Расскажи как определяешь объем занимаемой памяти ? И главное какой памяти? Посмотри где нибудь кол-во виртуальной памяти и сложи его с занимаемой оперативкой. Если ничего с прогой не делаешь, то эта величина будет примерно постоянная (в пределах погрешности :)).
И это при том, что я максимально стараюсь экономить ресурсы!!
Тогда старайся поменьше экономить :)
← →
Goblinus (2002-03-31 00:01) [15]Правильно вроде бы говорят - программа вызывает DLL"ки. Избавляешься от этого так (во всяком случае, так в Windows XP):
В реестре находится ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVershion\Explorer];
Создаётся новый подключ AlwaysUnloadDLL;
Для него устанавливается значение 1;
Перезагружается компьютер;
Всё!!!
www.computerra.ru
← →
Swinger (2002-03-31 23:05) [16]2 Goblinus: Спасибо! Обязательно попробую! А это системе не повредит? Т.е. не станет она менее стабильной от этого?
2 ZZ: В ХР когда жмёшь любимые три клавиши появляется окошко, где выведены все процессы: объём памяти, который они занимают и процессорное время (ну или загрузка проца.. не обращал внимание)
← →
Swinger (2002-03-31 23:08) [17]2Goblinus: Я чуть-чуть запутался.. надо Key создать и в нём уже String Value, или вообще в корне Explorer создать String Value - AlwaysUnloadDll???
← →
ZZ (2002-04-01 00:40) [18]Swinger
Ну так в меню вид | выбрать столбцы | [X] Объем виртуатьный памяти
Goblinus
Интересная идея. Объясни пожалуста какой эффект ты ожидаешь после создания этого ключа?
ЗЫ.Swinger скорее всего ключ в explorer, но типа DWORD.
← →
Alex_LG (2002-04-01 04:48) [19]
> Swinger © (30.03.02 12:02)
> Видимо эти компоненты FastNet очень
> сильно память жрут. Может кто знает, какой компонент выбрать
> вместо них для посылки сообщений?
я в своё время тоже намучился с компонентами от NetMasters !!!
и память, и проц загружают ктастрофически!!! глючат. неудобны.
не понимаю, почему в Дельфи их вообще включают? да в стандартный набор...
пользуй Indy : http://www.nevrona.com/indy/
← →
Alex_LG (2002-04-01 04:50) [20]добавлю: вообще-то и обычные TClientSocket и TServerSocket неплохи :)
← →
Anatoly Podgoretsky (2002-04-01 11:18) [21]В мире про NetMasters думают иначе
← →
Alex_LG (2002-04-01 21:17) [22]с мировым мнением спорить не буду - что хотят, то и думают, я не против
просто из СВОЕГО опыта знаю, что с их компонентами лучше не связываться: программка почти ничего не делает, а проц аж дымится от перегрузок :)
это не значит, конечно, что в данном случае проблема именно (и только) в этих компонентах
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.005 c