Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

Сжатие программ.   Найти похожие ветки 

 
Galiaf   (2005-06-05 19:36) [0]

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


 
SergP ©   (2005-06-05 20:28) [1]

попробуй KOL


 
_dimka   (2005-06-05 20:29) [2]

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


 
Galiaf   (2005-06-05 21:16) [3]


> попробуй KOL

А что такое KOL?


 
begin...end ©   (2005-06-05 21:23) [4]

> Galiaf   (05.06.05 21:16) [3]

http://delphi.vline.ru/cgi-bin/forum.pl?n=10
http://www.kolnmck.ru


 
Zacho ©   (2005-06-05 21:35) [5]

2 Galiaf :

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

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


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


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

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


 
Anatoly Podgoretsky ©   (2005-06-05 21:39) [7]

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


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


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

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


 
Eraser ©   (2005-06-05 21:52) [9]

Galiaf

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

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


 
Anatoly Podgoretsky ©   (2005-06-05 21:55) [10]

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


 
Zacho ©   (2005-06-05 22:03) [11]

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

:)

2 Galiaf :

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


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

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


 
Zacho ©   (2005-06-05 22:34) [13]

Galiaf   (05.06.05 22:28) [12]

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

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


 
Anatoly Podgoretsky ©   (2005-06-05 22:37) [14]

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


 
Eraser ©   (2005-06-05 22:38) [15]

Galiaf   (05.06.05 22:28) [12]

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

Private Bytes: 20332 KB
Working Set: 12420 KB

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


 
Dimaxx ©   (2005-06-05 22:55) [16]

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


 
Anatoly Podgoretsky ©   (2005-06-05 22:57) [17]

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


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


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

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


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


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

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


 
sniknik ©   (2005-06-06 00:40) [20]

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

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

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


 
Anatoly Podgoretsky ©   (2005-06-06 09:02) [21]

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


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

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


 
Alexander Panov ©   (2005-06-07 20:16) [23]

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


 
sniknik ©   (2005-06-07 20:22) [24]

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

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



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.056 c
4-1115117068
Steepesson
2005-05-03 14:44
2005.06.29
резидентная программа


3-1115803308
Lex_!
2005-05-11 13:21
2005.06.29
отображение Hint у DBGrid


4-1115268468
lexus3d_(1)
2005-05-05 08:47
2005.06.29
высвобождение файла


3-1116312633
ANB
2005-05-17 10:50
2005.06.29
Как побыстрее удалить большую часть записей из таблицы ?


1-1118181493
Green_Templar
2005-06-08 01:58
2005.06.29
свой тип файлов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский