StgOpenStorage сжирает 5 МБ памяти на каждый Storage?

Для неординарных вопросов. Если вы опытный программист, попавший в трудную ситуацию, — вам сюда.

Модератор: gaidar

Правила форума
Этот раздел не предназначен для того, чтобы вы адресовали свою проблему профессионалам.
Этот раздел предназначен для профессионалов, которые столкнулись с проблемой и не могут решить ее самостоятельно.
Если вы считаете себя профессионалом, а свою проблему сложной — вам сюда.
Если модератор посчитает, что вы ошиблись, то на первый раз он перенесет ваше сообщение в основной раздел без последствий для автора. Во второй раз тема будет закрыта, а автору будет выписано нарушение. В третий раз автор будет забанен.
tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

StgOpenStorage сжирает 5 МБ памяти на каждый Storage?

Сообщение tyomitch » 04.07.2007 (Ср) 11:19

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

Сторажи открываются на маленьких (менее мегабайта) файлах, но procexp показывает, что на каждый расходуется 5..6 МБ виртуальной памяти.

Никто не сталкивался?
Изображение

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 04.07.2007 (Ср) 12:05

Я с СOM Storage работал через Edanmo's Storage Classes v1, правда открывал только один стораж, зато на 10-15 мбайт. На P2-450 со 192 мб ОЗУ все работало резво и не тормозило.

Пример от Edanmo тут
http://www.mvps.org/emorcillo/download/vb6/storage.zip

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 04.07.2007 (Ср) 12:23

Спасибо, но проблема именно с большим числом маленьких сторажей :-|
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.07.2007 (Чт) 14:22

Решение найдено: CreateILockBytesOnHGlobal => StgCreateDocfileOnILockBytes => IStorage::CopyTo.

Файловый стораж заменяется памятийным, который куда компактнее.
Изображение


Вернуться в Раздел для Профессионалов

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

    TopList