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

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

Сжатие программ. [D7, WinXP]


Страницы:   1 2

Galiaf ©   (2005-06-05 19:36:00) 

Доброго вам времени суток. У меня нарисовалась такая проблема. Программа написанная на Delphi занимает много памяти, хотелось бы поменьше, потому что эта прога всегда у меня запущена. Я читал про архиватор ASPack но он почти не уменьшает занимаемую память и ещё бросает ошибку если прога запускается с активным ServerSocket. Ещё читал про програмирование на чистом WinApi но это тоже не то. Если кто знает как можно уменьшить занимаемую память прошу помочь.


sniknik   (2005-06-07 20:22:00) [1]

> Кто поможет?
подними глаза, вверху страници список форумов видиш? нажми на KOL.

но скорее всего действительно не идет. портирование на разные версии и написание библиотек ведется чисто интузиастами. без денег без сроков без менеджеров с электрошокерами сзади... процесс долгий. ;о)) (шутка, на самом деле на энузиазме иногда быстрее получается, если заработки не отвлекают)


Alexander Panov   (2005-06-07 20:16:00) [2]

Galiaf   (07.06.05 20:09) [22]
http://www.delphimaster.ru/cgi-bin/forum.pl?n=10


Galiaf   (2005-06-07 20:09:00) [3]

Я тут недавно слил KOL и MCK но у меня возникли проблемы, или я неправильно ставил, или KOL не идёт под Delphi 2005. Кто поможет?


Anatoly Podgoretsky   (2005-06-06 09:02:00) [4]

Ага в этом отношении очень нравятся программы-оптимизаторы памяти, которые скидывают весело так все в своп, а потом система судорожно дергается выталкивая их в фоне обратно оттуда в оперативную память.


sniknik   (2005-06-06 00:40:00) [5]

да легко, вызывай время от времени
SetProcessWorkingSetSize(GetCurrentProcess, dword(-1), dword(-1));

но только, скидывая таким образом память ты в другом проиграеш, в производительности системы, т.к. будеш вмешиватся в ее нормальную работу (сделав ненормальной. делать ей болше нечего как память туда сюда перетасовывать, перераспределять... и только потому что какомуто недоучке цифры отображаемые не нравятся)

p.s. совет. функцию проверь, но не пользуйся(!!!) ибо хуже только сделаеш.


Galiaf   (2005-06-05 23:47:00) [6]


> Вообще то мало.

Даже если 3 мег. мало для проги которая всегда в процессах седит, то всё равно хотелось бы узнать как можно уменьшать занимаемую память(на будующее).


Galiaf   (2005-06-05 23:43:00) [7]


> P.S. "засовывание в трей" никак не может уменьшить объём
> физ. памяти, занимаемой процессом.

Я в трей засовывал не для того что бы меньше памяти жрала, а для того что бы мненьше места на панели задач занимала ;).


Anatoly Podgoretsky   (2005-06-05 22:57:00) [8]

Можно, но только как психологическое оружие.


Dimaxx   (2005-06-05 22:55:00) [9]

Занимаемую память можно посмотреть и без примочек типа РЕ. Настройте колонки в TaskManager'е и все увидите по Ctrl+Alt+Del.


Eraser   (2005-06-05 22:38:00) [10]

Galiaf   (05.06.05 22:28) [12]

Итак, открываю PE, смотрю сколько аська жрёт:

Private Bytes: 20332 KB
Working Set: 12420 KB

Так что рано тебе вешаться ;-)


Anatoly Podgoretsky   (2005-06-05 22:37:00) [11]

Galiaf   (05.06.05 22:28) [12]
Вообще то мало.


Zacho   (2005-06-05 22:34:00) [12]

Galiaf   (05.06.05 22:28) [12]

"Опытные" намекают, что то, что ты видишь в Task Manager'е надо ещё и обдумывать.

P.S. "засовывание в трей" никак не может уменьшить объём физ. памяти, занимаемой процессом.


Galiaf   (2005-06-05 22:28:00) [13]

Просто мой чат всегда работает, я даже с панели задач его убрал и засунул в трей, а в таскменеджере всегда не менее 3 мег. Я думаю для этого чата слишком много 3 мег. Я и так как можно меньше переменных использовал. Но если опытные считают что я не прав, то придёться согласиться.


Zacho   (2005-06-05 22:03:00) [14]

Anatoly Podgoretsky ©   (05.06.05 21:39) [7]

:)

2 Galiaf :

Преход на "чистое" WinAPI или KOL не даст тебе большой экономии памяти. Килобайт 300 примерно. В лучшем случае. Сам подумай, для твоей задачи это критично ?


Anatoly Podgoretsky   (2005-06-05 21:55:00) [15]

Физическая (оперативная) память пользовательским программам не доступа и не используется, туда засылаются только нужные страницы и обратно выгружаются если они не нужны. С кешем тоже не все ясно, не все туда гонится, часть остается в самом ехе, хотя кажется что в кэше. В общем дело ясное, что дело темное.


Eraser   (2005-06-05 21:52:00) [16]

Galiaf

Послушай, что АП [7] говорит. Память, занимаемая программой - весч растяжимая ) Бывает виртуальная память, которой 2 ГБ, бывает физическая, бывает страничная. Так вот если твоя прога просто запущена и нечего не делает, то скорее всего почти вся память, занимаемая ей, сброшена в кэш (страничную память) или сбросится туда при нехватке физ. памяти. Так что я бы не стал запорачиваться на показаниях таскменеджера.

Для получения более подробной инфы о состоянии памяти процесса, советую использовать Precess Explorer http://sysinternals.com/


Galiaf   (2005-06-05 21:41:00) [17]


> begin...end ©   (05.06.05 21:23) [4]

Я открыл страницу про KOL и MCK и увидел "Чтобы получить первоначальные знания о KOL и MCK прочитайте статью KOL - кодоэкономичная объектная библиотека для Delphi, написанную автором KOL Владимиром Кладовым.", кликнув на ссылку я не смог отобразить страницу. Мне интересно как разобраться с этим KOL.


Anatoly Podgoretsky   (2005-06-05 21:39:00) [18]

Zacho ©   (05.06.05 21:35) [5]
А причем тут память, каждой программе выделяется 2 гб бесплатно.


Galiaf   (2005-06-05 21:38:00) [19]


> А вообще, забудь об этом. Память нынче дешевая.

Память не дорогая но у меня всёравно нет средств поставить новую аперативку.


Zacho   (2005-06-05 21:35:00) [20]

2 Galiaf :

Никакой "архиватор" не уменьшит "занимаемую" память. Вот увеличить - вполне может. Может уменьшить только размер файла

А вообще, забудь об этом. Память нынче дешевая.


Страницы:   1 2

Наверх

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