- Доктор, когда я так делаю - очень больно!Цитата:
Сообщение от bugsy
- А вы так не делайте!
Если тебе действительно нужны 6 страниц спрайтов - тогда и разговора нет:)
Вид для печати
- Доктор, когда я так делаю - очень больно!Цитата:
Сообщение от bugsy
- А вы так не делайте!
Если тебе действительно нужны 6 страниц спрайтов - тогда и разговора нет:)
Кому?Цитата:
Сообщение от Firestarter
На счет *.pdf все и так знают мое отношение.Цитата:
Сообщение от bugsy
нам обоимЦитата:
Сообщение от axor
Пока мы треплемся Дима Быстров работает.
Вот что он ответил на некоторые мои вопросы.
Дима Быстров:
"1. У тебя трассировка происходит перебором на каждом шаге всех клеточек? Это
можно существенно ускорить, если на каждом шаге перебирать только клеточки,
изменённые на предыдущем шаге (кроме карты нужно 2 списка: один обрабатываем,
другой генерируем).
2.
/=== Begin Windows Clipboard ===/
LD (BL22SP+1),SP
LD BC,SPR ;Высчитываем адрес спрайта
ADD HL,HL ;HL=HL*32
ADD HL,HL
ADD HL,HL
ADD HL,HL
ADD HL,HL
ADD HL,BC
/=== End Windows Clipboard ===/
20+65
Это можно ускорить:
SP на каждом вызове будет одинаковое, так что сохранять для всех клеток
незачем.
ld a,l
rrca
rrca
rrca
ld h,a
and #e0
ld l,a
xor h
add a,'SPR
ld h,a
46 против 65
А вообще-то ускорять незачем, т.к. клеточек на экране всего 144 - выигрыш 5616
тактов :)"
Поучиться, как всегда, есть чему. Мотаем на ус!
Итого, ко всем моим ускорениям, он ускорил еще на 2880 тактов :) Кто ускорит еще? :)
А за что?Цитата:
Сообщение от Firestarter
да ладно...Цитата:
Сообщение от axor
мы шутим...
Это и есть поиск по фронту волны, о котором я тебе говорил.Цитата:
Сообщение от axor
Напомни, у тебя поле по знакоместам скролиться или по тайлам?Цитата:
Сообщение от axor
Я так понял, выводишь на экран асинхронно прерываниям.Цитата:
Сообщение от axor
Вопросец - за один игровой "тик", один оборот игрового цикла, сколько спрайтов выводятся на экран? Сколько раз отработает этот кусочек кода?