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

Вниз

Нехватка ресурсов под 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 вся ветка

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

Наверх




Память: 0.45 MB
Время: 0.032 c
1-1081755051
fatal
2004-04-12 11:30
2004.05.02
Scroll мыши над компонентом.


1-1081915436
msgipss
2004-04-14 08:03
2004.05.02
Как можно определить тип данных в Variant


14-1081832179
MPS
2004-04-13 08:56
2004.05.02
Задачка логическая по информатике


14-1081489551
passlight
2004-04-09 09:45
2004.05.02
Горе : не успел зарегистрировать домен


14-1081836347
Nous Mellon
2004-04-13 10:05
2004.05.02
О клонах





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