Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Написание игр _ Вывод спрайта в Hi-res

Автор: AlienEmperor 24.03.2005 15:53

Значит, вопрос следующего плана: исторически сложилось, что для игрушек я использую следующую систему вывода спрайтов/бэкграундов и т.д.:
1) существует экран заднего фона (он для перерисовки, на него выводится "чистый" фон)
2) экран переднего плана: на него сначала копируется задний фон, затем каждый спрайт в порядке приближения по оси Z рисует себя на него.
3) с экрана переднего фона все копируется в видеопамять.
4) все процедуры перерисовки экранов целиком используют REP MOVSD
5) спрайты копируются попиксельно с целью организации прозрачности.

Теперь, собственно вопрос: все это замечательно работает для 320х200х256.
Но я так прикидываю, что даже при 640х480х256 начнутся большие проблемы с производительностью... Все-таки перекинуть 137 Кб не так-то быстро получится... (при использовании 32 битного компилятора ес-но). Кто что может посоветовать ? Я помню, говорили о переключении видеостраниц... Но не понимаю как это может помочь в данном случае (мне нужно все равно в видеостраницу загнать бэк и все спрайты... вряд ли это будет быстрее...)
Кстати, такие вещи как PutImage / GetImage вообще не подойдут из-за прозрачности

Автор: P@sh@ 29.03.2005 13:01

я подозреваю, что для твоего случая на современных процах/видюхах вряд ли начнутся проблемы с производительностью... попробуй сначала
ну а чтоб спрайты быстрее рисовать... а для чего по-твоему щас на видюхах десятки мегабайт видеопамяти ставят? чтоб побольше текстур/спрайтов туда загнать и системную шину не перегружать... видюха куда быстрее все копирует у себя в памяти, чем "снаружи" - из оперативки

Автор: AlienEmperor 29.03.2005 18:25

Да, а каким образом можно из видеопамяти напрямую записать в видеопамять-же ?
На самом деле я еще только начинаю осваивать разрешения, большие 320х200 (под SVGA, а не под DX), поэтому вопросов еще много...