Такты блиттера: 1-чтение спрайта, 2-чтение фона, 3-запись в фон по маске, 4-чтение видеоконтроллером. Такты рендера: 1-чтение спрайта.
Параллакс у меня делается элементарно: для тайловых плоскостей - изменение Х офсета на строчных интах, для спрайтов - изменение координат спрайтов.
Я сразу и навсегда отказался от привязки "к экранам" типа зх128. Т.е. плодить костыли no-no. Экраны ЗХ вполне себе работают в качестве фоновой графики, но рекомендуется их отключать для экономии.
Тайлы нужны для генерации фонов, пейзажей. 4 слоя конечно труЪ, но 4 я себе позволить не смог на железе пентевы. Практика показала, что 2 тоже неплохо. Остальное можно дорисовать спрайтами, их овер 9990, все они по сути представляют собой отдельные слои.
Вообще идея изначально такая:
- ни один цикл доступа к драме не должен быть ненужным
- драма не должна простаивать ни одного свободного цикла.
Первое достигается за счет использования рендерера в оверлейный буфер, второе - за счет параллельной генерации заданий парсером объектов, в то время, как рендерер дрючит память и генерит пиксели. Практически - при 448 циклах драмы на одну строку изображения я получаю около 1700+ пикселей в строке. Посчитай сколько это только полных слоев, а слои-то в основном полупустые.
Вопрос: какая частота циклов доступа к СРАМ в твоем дизайне?




Ответить с цитированием