User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 46

Тема: Игра "Вера". Что еще можно ускорить?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    20.01.2005
    Адрес
    Россия, Вологда
    Сообщений
    957
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Игра "Вера". Что еще можно ускорить?

    Посмотрите вложение. Что-то еще можно ускорить? Может кто подскажет какой-либо более "удобный" формат для скорости?
    Вложения Вложения
    • Тип файла: zip Vera.zip (1.4 Кб, Просмотров: 322)
    axor/Perspective
    http://abzac.retropc.ru/

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    20.01.2005
    Адрес
    Саранск
    Сообщений
    2,195
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    да фиг его знает... и так вроде намана... ведь это же спек, и предел близок...
    Мои интры: [Kukarachess][Super boot rmx][tRUSHE MOSAIc][BLAZE]
    Мои игры: [Overload][Removal]

    Список игр для ZX-Spectrum: [2015] [2014]

  4. #3

    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,551
    Спасибо Благодарностей отдано 
    205
    Спасибо Благодарностей получено 
    188
    Поблагодарили
    83 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от axor
    Может кто подскажет какой-либо более "удобный" формат для скорости?
    ADD HL,HL ;HL=HL*32
    ADD HL,HL
    ADD HL,HL
    ADD HL,HL
    ADD HL,HL
    Этот кусок точно можно ускорить, странно но подобное я видел и в ЧВ.

  5. #4

    Регистрация
    20.01.2005
    Адрес
    Россия, Вологда
    Сообщений
    957
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от newart
    ADD HL,HL ;HL=HL*32
    ADD HL,HL
    ADD HL,HL
    ADD HL,HL
    ADD HL,HL
    Этот кусок точно можно ускорить, странно но подобное я видел и в ЧВ.
    А как ускорить?

    Подскажи, как можно быстро по коду в HL - 0-511 высчитать адрес спрайта? Спрайты, понятно, выровнены по адресу (#c000), но формат линейный (почти).

    Или подскажите кто-нибудь, как можно быстро умножить на 32.
    axor/Perspective
    http://abzac.retropc.ru/

  6. #5

    Регистрация
    20.01.2005
    Адрес
    Россия, Вологда
    Сообщений
    957
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Идея

    Если бы не формат анимации на карте, то можно было бы карту хранить в более выгодном формате. А именно, уже сразу умножить код спрайта на 32. Все равно в карте он занимает 2 байта. Но, блин, у меня там анимация Хотя... Надо подумать
    axor/Perspective
    http://abzac.retropc.ru/

  7. #6

    Регистрация
    20.01.2005
    Адрес
    Россия, Вологда
    Сообщений
    957
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Дополнения по идее

    Можно не только хранить в карте уже умноженное число на 32, а сразу адрес спрайта. Таким образом у меня на выводе карты будет экономиться порядка 10000 тактов.

    Пока правда не придумал как быть с анимацией. Но вроде выход есть. Ведь все адреса спрайтов четные. Поэтому можно задействовать 1-й бит в числе...
    axor/Perspective
    http://abzac.retropc.ru/

  8. #7

    Регистрация
    16.01.2005
    Сообщений
    615
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вообще, если адреса хранить - они будут не просто чётные, а все младшие 5 бит будут в нуле. Т.е., в принципе, там можно чего-нибудь дополнительное хранить, а на выводе младший байт and %11100000

  9. #8

    Регистрация
    24.06.2005
    Адрес
    novosibirsk
    Сообщений
    266
    Записей в дневнике
    5
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от axor
    А как ускорить?
    Подскажи, как можно быстро по коду в HL - 0-511 высчитать адрес спрайта? Спрайты, понятно, выровнены по адресу (#c000), но формат линейный (почти).
    Или подскажите кто-нибудь, как можно быстро умножить на 32.
    Я так понял, выводишь на экран асинхронно прерываниям.
    Вопросец - за один игровой "тик", один оборот игрового цикла, сколько спрайтов выводятся на экран? Сколько раз отработает этот кусочек кода?
    Alex Raider, Flash inc. 1992-1997 Новосибирск

  10. #9

    Регистрация
    20.01.2005
    Адрес
    Россия, Вологда
    Сообщений
    957
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Raider
    Я так понял, выводишь на экран асинхронно прерываниям.
    Теперь вывод экрана привязан к прерываниям. Но может отказаться от этого?

    В первой деме вывод экрана не был привязан и выводился асинхронно.

    Цитата Сообщение от Raider
    Вопросец - за один игровой "тик", один оборот игрового цикла, сколько спрайтов выводятся на экран? Сколько раз отработает этот кусочек кода?
    Если ты имеешь ввиду вывод тайла, то один тайл за цикл (формирование теневого экрана) выведется 144 раза. Это происходит после того, как теневой экран выкидывается на видимый экран.
    axor/Perspective
    http://abzac.retropc.ru/

  11. #10

    Регистрация
    24.06.2005
    Адрес
    novosibirsk
    Сообщений
    266
    Записей в дневнике
    5
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от axor
    Теперь вывод экрана привязан к прерываниям. Но может отказаться от этого?
    В первой деме вывод экрана не был привязан и выводился асинхронно.
    Если ты имеешь ввиду вывод тайла, то один тайл за цикл (формирование теневого экрана) выведется 144 раза. Это происходит после того, как теневой экран выкидывается на видимый экран.
    Ну мож имеет смысл убивать 512 байт памяти и заменять серию ADD..
    на такое:

    LD H,XX
    LD L,YY
    LD A,(HL)
    INC H
    LD H,(HL)
    LD L,A
    . . .
    хотя в гейме я бы не стал. в демке - обязательно.
    Alex Raider, Flash inc. 1992-1997 Новосибирск

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 5
    Последнее: 20.06.2005, 00:10
  2. "Ремейк или плагиат?" или "про FIRE & ICE..."
    от antiplagiat в разделе Игры
    Ответов: 27
    Последнее: 04.06.2005, 02:55
  3. Призы конкурса "Твоя игра-2004"
    от axor в разделе Игры
    Ответов: 12
    Последнее: 25.05.2005, 14:17
  4. Результаты "Твоя игра-2004"
    от axor в разделе Игры
    Ответов: 23
    Последнее: 21.05.2005, 19:23
  5. Ответов: 4
    Последнее: 01.02.2005, 22:37

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •