Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-46259
MixVictor
2002-03-25 20:37
2002.04.15
Бд на машине без Delphi


3-46279
Pete
2002-03-24 12:59
2002.04.15
ADO SQL


1-46316
Deus
2002-04-03 16:18
2002.04.15
А как бы принудительно показать hint?


14-46481
Алексей Петров
2002-03-05 16:35
2002.04.15
Головоломка на знание принципа работы компилятора Object Pascal


1-46346
ArmArt
2002-04-03 23:34
2002.04.15
Как сделать Экспорт Quick Report в Excel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский