![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Программа в оперативной памяти [D7, WinXP]
Turbid © (2006-05-30 18:34:00)Пробую написать программу на чистом WinApi, но столкнулся с такой проблемой: создав всего одно окно и разместив иконку в трее программа уже занимает 2,5-3Mb в памяти. Такое положение никак не устраивает - аналогичная программа на VCL заниемает столько-же. Друг посоветовал использовать функцию SetProcessWorkingSetSize, но почитав про нее в SDK и на некоторых форумах пришел к выводу, что это не более чем фикция. Помогите советом. Стараюсь писать очень оптимально, по возможности использую указатели вместо переменных, но...
Игорь Шевченко (2006-06-19 10:24:00) [1]Не надо верить диспетчеру
Чародей (2006-06-18 11:29:00) [2]2-3 метра это нормально Aligment секций + стандартно 1М на кучу, на стек.
З.Ы. Однострочные проги на асме в памяти(как показывает диспетчер) занимаю ~1.2M
Denister (2006-06-17 20:20:00) [3]попробуй свернуть окно - потом восстановить и посмотри на количество занимаемой памяти :(). Я точно знаю что ShellApi минимум метр добавляет.
Есть кстати софт, который показывает сколько занимает конкретный модуль (например твоя прога) а сколько дллки. А диспетчер показывает все вместе :) так что не боись...
Turbid (2006-05-31 08:53:00) [4]2Eraser:
Все аккурат заключается в try..finally
2atruhin:
Windows, Messages, ShellApi
atruhin (2006-05-31 05:54:00) [5]Для начала приведи список используемых модулей и сколько памяти запрашиваешь динамически.
Eraser (2006-05-31 02:13:00) [6]
> Turbid © (31.05.06 00:34) [5]
так и пусть ориентируются дальше.
я бы посоветовал просто писАть грамотный код, не особо задумываясь о размерах какого-то мифического WorkingSetSize, а система сама разберётся что, куда и сколько выделять.
> Стараюсь писать очень оптимально, по возможности использую
> указатели вместо переменных
главное не забывай потом особождать память, на которую указывают эти указатели ;-))
Turbid (2006-05-31 00:34:00) [7]Хотя бы по показаниям диспечера задач. Знаю что он считает своими попугаями, но пользователи то ориентируются на него...
Eraser (2006-05-31 00:00:00) [8]
> Turbid © (30.05.06 18:34)
> в трее программа уже занимает 2,5-3Mb в памяти.
какой памяти? памятей их много всяких в виндовсе, и вряд ли данный показатель характерезует физическую память.
Turbid (2006-05-30 22:01:00) [9]2Джо
О чем вы? Я имел ввиду писать оптимальный код.
Джо (2006-05-30 21:27:00) [10]> по возможности использую указатели вместо переменных, но...
Вот оно как, оказывается, можно "писать экономно"...
tesseract (2006-05-30 21:26:00) [11]не парься 2,5 Мб нормальный размер, скорре всего что-то с ресурсами или ты просто запаковал прогу каким-нибудь архиватором.