Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ограничения на CreateCompatibleBitmap(); 
V
    Опции темы
Paspartu
Дата 27.9.2008, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 3.5.2007

Репутация: нет
Всего: нет



Доброго времени суток.

Есть несколько объектов для каждого из которых делается по 2 bitmapa (члены этих объектов) через CreateCompatibleBitmap() размеры давольно таки большие 1400Х1050, но после 12 объекта – финиш, 
CreateCompatibleBitmap() – возвращает 0. т.е. есть какие-то ограничения на количество(размеры) создаваемых bitmap-ов, как с этим бороться?
 Bitmap-ы существуют в течении всего времяни существования этих объектов (времени работы программы) и уничтожаются при выходе из нее. 
Размеры устанавливаются изходя из максимального разрешения монитора для данной системы, т.е. изночально они такие не нужны, они могут быть пусть 100х100, но при макс. размере окна их размер меняется и дожен быть соответственно больше, вплоть до максимального разрешения.

Возможно прикреплять к каждому объекту по 2 Bitmap-а – это неправильно? И создавать(удолять) их можно только по мере неоходимости? (они нужны для увеличения скорости прорисовки, двойная буферизация, только используется не один буфер а 2 (2 совместимых bitmap-а), вроде как 3-я буферизация smile).

С чем связаны ограничения на количество(размеры) bitmap-ов?
т.к. при уменьшении их размеров - все работает.
PM MAIL   Вверх
mes
Дата 28.9.2008, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



Цитата(Paspartu @  27.9.2008,  21:08 Найти цитируемый пост)
для каждого из которых делается по 2 bitmapa (члены этих объектов) через CreateCompatibleBitmap() размеры давольно таки большие 1400Х1050, но после 12 объекта

Интересно стало сколько памяти на это требуется   : 1 400*1 050*4*12*2 равно 141 120 000 байтов . smile 




--------------------
PM MAIL WWW   Вверх
Paspartu
Дата 28.9.2008, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 3.5.2007

Репутация: нет
Всего: нет



Вот и я о том же, человек который написал код с пеной у рта мне доказывал, что это самое то. 
Руки бы ему оторвать smile  smile 
PM MAIL   Вверх
Earnest
Дата 30.9.2008, 09:36 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 33
Всего: 183



Вообше-то выделять по 1000*1000 когда нужно 100*100 как то безхозяйственно. Так что это тебе руки надо оторвать smile. Трудно перераспределить что ли, когда требуется? А если памяти нужно много и одновременно - используй FileMapping. При этом придется использовать диб-секции, конечно, но зато - сколько хошь памяти... 


--------------------
...
PM   Вверх
Paspartu
Дата 5.10.2008, 03:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 3.5.2007

Репутация: нет
Всего: нет



Earnest, спасибо за разъяснение!  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0544 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.