Главная страница
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.022 c
8-1075711384
Thick
2004-02-02 11:43
2004.05.02
RGB


14-1081381010
_none_
2004-04-08 03:36
2004.05.02
во сколько бы вы оценили...


14-1081604238
acrona
2004-04-10 17:37
2004.05.02
Работа с другой программой


14-1081437031
E1
2004-04-08 19:10
2004.05.02
интересный IRC бот :)


6-1078957808
Rezya
2004-03-11 01:30
2004.05.02
неблокирующие Сокеты