Форум: "Игры";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
ВнизDirectDraw. Поверхности большого размера. Найти похожие ветки
← →
Pinochet (2005-08-17 23:20) [0]Такая тема. Есть у меня 2d игра с которой я уже вожусь немало времени. Игра ента отменно работает на хороших, быстрых, современных копьютерах. Но! При попытке запуска её на Pentium 233MMX c 4Mb Video игрушка приказывает долго жить. Опытным путем было установлено, что косяк происходит при создании поверхности (IDIRECTDRAWSURFACE7) из bitmap"a, геометрический размер которого привышает разрешение экрана (скажем установлено разрешение 640x480, а пытаюсь загрузить картинку 50x1000). Сразу скажу что все внеэкранные поверхности у меня создаются в системной памяти:
ddsCaps.dwCaps:=DDSCAPS_OFFSCREENPLAIN+DDSCAPS_SYSTEMMEMORY;
Кроме того, самое интересное, что до момента загрузки подобной картинки у меня создается аж 2 поверхности, размеры которых многократно привышают размеры экрана, только на них не загружается ничего, они на данном этапе пустые...
Почему? Где беспредел :). (Грешу на нехватку оперативки, их там всего 32Mb, но как же диспетчер виртуальной памяти....)
← →
Sapersky (2005-08-18 14:01) [1]Для начала нужно определить, что всё-таки глючит - создание поверхности (что возвращает CreateSurface?) или создание/загрузка битмапа.
Если битмап - например, GDI не в состоянии создать handle - грузить картинку вручную.
После загрузки освобождать битмап/промежуточный буфер для экономии памяти. Или при создании поверхности указать ей, чтобы использовала память битмапа (если форматы совпадают - в SDK это называется client memory surfaces).
← →
A22 © (2005-08-18 19:49) [2]а зачем вообще ориентироваться на 233ммх с 4мб видео? такое сейчас и найти-то трудно...
← →
Pinochet © (2005-08-18 22:17) [3]>а зачем вообще ориентироваться на 233ммх с 4мб видео? такое сейчас и найти-то трудно...
Дело принципа. Интересно знать почему, может это какие-то аппаратные особенности, которые я незнаю, или еще что.
← →
Сергей (аноним) (2005-08-19 20:47) [4]Могу ошибаться, но вроде как с некоторыми видюхами связано ограничение на размер создаваемой поверхности равное разрешению экрана.
← →
Grell © (2005-08-19 20:54) [5]
> Могу ошибаться, но вроде как с некоторыми видюхами связано
> ограничение на размер создаваемой поверхности равное разрешению
> экрана.
Да, так и есть, Краснов об этом писал помнится. Но автор утверждает что
> Кроме того, самое интересное, что до момента загрузки подобной
> картинки у меня создается аж 2 поверхности, размеры которых
> многократно привышают размеры экрана, только на них не загружается
> ничего, они на данном этапе пустые...
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.069 c