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

Вниз

Программа в оперативной памяти   Найти похожие ветки 

 
Turbid ©   (2006-05-30 18:34) [0]

Пробую написать программу на чистом WinApi, но столкнулся с такой проблемой: создав всего одно окно и разместив иконку в трее программа уже занимает 2,5-3Mb в памяти. Такое положение никак не устраивает - аналогичная программа на VCL заниемает столько-же. Друг посоветовал использовать функцию  SetProcessWorkingSetSize, но почитав про нее в SDK и на некоторых форумах пришел к выводу, что это не более чем фикция. Помогите советом. Стараюсь писать очень оптимально, по возможности использую указатели вместо переменных, но...


 
tesseract ©   (2006-05-30 21:26) [1]

не парься 2,5 Мб нормальный размер, скорре всего что-то с ресурсами или ты просто запаковал прогу каким-нибудь архиватором.


 
Джо ©   (2006-05-30 21:27) [2]

> по возможности использую указатели вместо переменных, но...

Вот оно как, оказывается, можно "писать экономно"...


 
Turbid ©   (2006-05-30 22:01) [3]

2Джо
О чем вы? Я имел ввиду писать оптимальный код.


 
Eraser ©   (2006-05-31 00:00) [4]


> Turbid ©   (30.05.06 18:34)


> в трее программа уже занимает 2,5-3Mb в памяти.

какой памяти? памятей их много всяких в виндовсе, и вряд ли данный показатель характерезует физическую память.


 
Turbid ©   (2006-05-31 00:34) [5]

Хотя бы по показаниям диспечера задач. Знаю что он считает своими попугаями, но пользователи то ориентируются на него...


 
Eraser ©   (2006-05-31 02:13) [6]


> Turbid ©   (31.05.06 00:34) [5]

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

> Стараюсь писать очень оптимально, по возможности использую
> указатели вместо переменных

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


 
atruhin ©   (2006-05-31 05:54) [7]

Для начала приведи список используемых модулей и сколько памяти запрашиваешь динамически.


 
Turbid ©   (2006-05-31 08:53) [8]

2Eraser:
Все аккурат заключается в try..finally

2atruhin:
Windows, Messages, ShellApi


 
Denister   (2006-06-17 20:20) [9]

попробуй свернуть окно - потом восстановить и посмотри на количество занимаемой памяти :().   Я точно знаю что ShellApi минимум метр добавляет.
Есть кстати софт, который показывает сколько занимает конкретный модуль (например твоя прога) а сколько дллки. А диспетчер показывает все вместе :) так что не боись...


 
Чародей ©   (2006-06-18 11:29) [10]

2-3 метра это нормально Aligment секций + стандартно 1М на кучу, на стек.
З.Ы. Однострочные проги на асме в памяти(как показывает диспетчер) занимаю ~1.2M


 
Игорь Шевченко ©   (2006-06-19 10:24) [11]

Не надо верить диспетчеру



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

Форум: "WinAPI";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.052 c
15-1160599116
Mike Kouzmine
2006-10-12 00:38
2006.11.05
Опять протаранили.. :(


1-1159295713
AlexeyT
2006-09-26 22:35
2006.11.05
Задать рамке TPanel стиль от TEdit


3-1157532896
SergP.
2006-09-06 12:54
2006.11.05
Как предотвратить "обрезание" полей?


15-1161166150
SerJaNT
2006-10-18 14:09
2006.11.05
Комп не грузиться=((


15-1161205288
juice
2006-10-19 01:01
2006.11.05
Программирование контроллеров (USB)





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