Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

Нехватка ресурсов под Win98.   Найти похожие ветки 

 
Сергей Петров   (2004-03-02 05:29) [0]

Приведенный ниже вопрос я задал в "Основном". Привожу его для понимания проблемы. А вопрос здесь такой - поможет ли мне, если я перепишу это под WinAPI? Если да - приведите хотя бы названия функций, которые следует использовать. И если есть мысли о решении проблемы, выскажитесь, пожалуйста!

Уже неделю вожусь с этой проблемой. Я ее уже описывал, но если вкратце: после загрузки некоторого количества битмапов система либо виснет наглухо, либо программа вылетает, не оставляя после себя свободных ресурсов.

Ситуация становится непонятной. Судя по всему дело уже даже не в объеме памяти, требуемой под хранение bitmaps. Такое ощущение, что дело в количестве этих самых битмапов.

Их штук 20, все размером около килобайта-двух. Добавление-удаление к их списку большого битмапа размером 1.5мб роли не играет.

Есть несколько конкретных вопросов:

1. С точки зрения сокращения объемов используемой памяти имеет ли смысл использовать вместо TBitmap TJpegImage?

2. Если я создаю bitmap, а потом вызываю bitmap.free, могу ли я быть уверен, что все ресурсы, которые он использовал, освобождены?

3. Есть ли вообще хоть какие-то пути решения проблемы? Не знаю, DirectX какой-нибудь может мне помочь?

4. Есть ли какой-нибудь софт, который может помочь отследить на каком этапе съедаются ресурсы? Проблема в том, что стандартный виндовый ResourceWatcher показывает странное. В режиме пошагового выполнения до какого-то очередного loadfromfile все хорошо, свободных ресурсов около 60%, после ее выполнения - 1%. Мне кажется это странным, особенно учитывая то, что размер загружаемого bitmap - 1.5kb.

5. Самое главное - ответ "смирись, винда такая" не подходит. Ибо существует абсолютно аналогичное приложение, которое работает вполне уверенно.


 
panov ©   (2004-03-02 16:02) [1]

Не надо писать в несколько веток.


 
panov ©   (2004-03-02 16:09) [2]

А для освобождения GDI-ресурсов перед Bitmap.Free используй метод Bitmap.Dormant.


 
YuRock ©   (2004-03-04 11:11) [3]

Практически уверен, что ошибки в коде.

Что-то где-то неправильно удаляется (или вообще не удаляется).
Или что-то пишется не туда, куда нужно...

P.S. В 99.99% случаев в этом и заключаются все проблемы. В 0.01 поцента - приходится немного переделать алгоритм.

Приведите код (котя б кусочки) - попробуем помочь.



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

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
4-1078194563
Сергей Петров
2004-03-02 05:29
2004.05.02
Нехватка ресурсов под Win98.


1-1081940111
clover
2004-04-14 14:55
2004.05.02
ScrollBars в MDI Form


11-1066389651
ALEF
2003-10-17 15:20
2004.05.02
mckActionListEditor


1-1081879867
Mishenka
2004-04-13 22:11
2004.05.02
Кавычки в FileNameEdit из RxLib...


1-1082291934
dmitrijf
2004-04-18 16:38
2004.05.02
Наследствование методов