Важная информация

User Tag List

Страница 21 из 45 ПерваяПервая ... 171819202122232425 ... ПоследняяПоследняя
Показано с 201 по 210 из 443

Тема: Пишу шедевр для «Вектора 06Ц»

  1. #201

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Не пропущено "mov h,a" ?
    Да, команда пропущена.
    Можно ускорить переход между плоскостями, если перейти на змейки по плоскостям и в пространстве. В варианте jerri переходы между плоскостями (при добавлении mov h,a) займут 80 тактов на две строки. Если первую строку выводить слева-направо и в одну сторону по плоскостям, а вторую справа-налево и в другую сторону по плоскостям, то переходы можно ужать до 56 тактов на две строки.
    Последний раз редактировалось ivagor; 02.08.2020 в 06:52.

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    metamorpho(02.08.2020)

  2. #202

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    jerri, примерно да. Только у меня алгоритм значительно длиннее, и не построчно, а по две строки.
    Т.е. две строки в одной колонке, потом две во второй, в третьей. Потом переход на след. план. По две строки справа налево. Переход на след. план. Снова по две строки в право. И так дважды.
    За счет более длинного и развёрнутого алгоритма, по тактам, мой не значительно быстрее. Видимо за счет меньшего количества проверок на конц цикла. Т.к. у тебя на 4 строки дважды проверка на повтор, а у меня один раз.
    Поскольку у тебя, переход между планами и проверка циклов компактнее, чем у меня.
    Спасибо за идею.
    И подозреваю, что у моего метода "по две строки" выше вероятность появлению мельтешения (мерцания).

    - - - Добавлено - - -

    jerri, в алгоритме рисования спрайта, есть для меня один не понятный момент.
    При переходе на след строку (в средине алгоритма):

    Код:
            ld      (hl),c
    ;возвращаемся на первый план
            sub     #40
    ;переходим на следующую строку
            inc     l
    ;повторяем цикл рисования
            ld      (hl),b
    Уменьшение аккумулятора на 40 - это я понимаю, переход не след строку "inc l" - тоже.
    А как происходит перевод регистра H - на начало?
    Не пропущено "mov h,a" ?
    Ага пропущено.

    Как вариант конечно можно и по 2 строки по высоте выводить, это ещё ускорит алгоритм, но увеличит вероятность мерцания цвета.

    Насколько головоломным станет формат спрайта?

    Сейчас спрайт выводится построчно.

    С другой стороны если снизить минимальную частоту до 25 фпс это будет не важно.
    С уважением,
    Jerri / Red Triangle.

    Этот пользователь поблагодарил jerri за это полезное сообщение:

    metamorpho(02.08.2020)

  3. #203

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    jerri, переделал переход между планами по твоему, спрайт выводится ещё быстрее.
    Судя по таймингу, стало с запасом хватать на вывод 4-ёх подвижных объектов при перемещении во вертикали, хотя раньше запаса совсем не было.

    Этот пользователь поблагодарил KTSerg за это полезное сообщение:

    metamorpho(02.08.2020)

  4. #204

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    стало с запасом хватать на вывод 4-ёх подвижных объектов при перемещении во вертикали
    Даже если учесть шторку на мой взгляд слишком осторожная оценка. По моей прикидке в кадр укладываются 7 объектов 32*24 (это движение по горизонтали, без шторки, зато спрайты крупнее). Ну и я учитываю только рисование, без обработки управляющих воздействий и взаимодействия объектов.

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    metamorpho(02.08.2020)

  5. #205

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Даже если учесть шторку на мой взгляд слишком осторожная оценка. По моей прикидке в кадр укладываются 7 объектов 32*24 (это движение по горизонтали, без шторки, зато спрайты крупнее). Ну и я учитываю только рисование, без обработки управляющих воздействий и взаимодействия объектов.
    На шторке в текущем виде слишком много пересчетов на позицию.
    Можно раскатать подобным образом и получить что то вроде 400 тактов на линию
    С уважением,
    Jerri / Red Triangle.

    Этот пользователь поблагодарил jerri за это полезное сообщение:

    metamorpho(02.08.2020)

  6. #206

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Даже если учесть шторку на мой взгляд слишком осторожная оценка. По моей прикидке в кадр укладываются 7 объектов 32*24 (это движение по горизонтали, без шторки, зато спрайты крупнее). Ну и я учитываю только рисование, без обработки управляющих воздействий и взаимодействия объектов.
    Я понимаю, что у меня не всё круто оптимизировано... но у меня, при движении по горизонтали, 6 объектов (плюс персонаж) не входит между прерываниями. И это, как упомянуто, ещё без обработки взаимодействия.

    Вот выложу тестилку быстродействия вывода спрайтов. Зелёные полосы на бордюре, это время отрисовки спрайта. 10 узких полос, это вывод заполнения под ширмой.
    Поскольку за одно прерывание скроллинг 4 строки, то и вывод спрайтов оптимизирован под вывод 4-ёх строк за цикл. Заполнение под ширмой тоже 4 строки за раз.
    Вложения Вложения
    Последний раз редактировалось KTSerg; 02.08.2020 в 08:47.

    Этот пользователь поблагодарил KTSerg за это полезное сообщение:

    metamorpho(02.08.2020)

  7. #207

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не смотрел шторку/ширму у metamorpho, но ничего быстрее push+...+push+inr h+sphl представить не могу. Для 4 строк будет по 1536 тактов на рисование и столько же на стирание. Это для 32 колонок, для 30 понятно меньше.

    - - - Добавлено - - -

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Заполнение под ширмой тоже 4 строки за раз.
    Рисование под ширмой я не считал. Я бы рисовал под "высокой" ширмой сразу всю строку, а потом сдвигал уже без рисования.

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    metamorpho(02.08.2020)

  8. #208

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Не смотрел шторку/ширму у metamorpho, но ничего быстрее push+...+push+inr h+sphl представить не могу. ...
    Поскольку перенос ширмы всегда в прерываниях, при изменении значения скроллинга, то ширма формируется стековыми операциями записи. На моём примере, это синий цвет бордюра.

    Рисование под ширмой я не считал. Я бы рисовал под "высокой" ширмой сразу всю строку, а потом сдвигал уже без рисования.
    Формирование поля в 4 строки под ширмой, для равномерности использования ресурсов. Если выводить под ширмой полностью весь спрайт, да ещё на всю ширину экрана, то как минимум одно из 6 прерываний, будет занято, и перемещение подвижных объектов будет с характерным дёрганием - не будет плавным.
    Мне кажется. Я не пробовал.

    Этот пользователь поблагодарил KTSerg за это полезное сообщение:

    metamorpho(02.08.2020)

  9. #209

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я надеюсь, что торможение из за вывода строки объектов будет не особо заметно на фоне сдвига при движении по вертикали.

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    metamorpho(02.08.2020)

  10. #210

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Я надеюсь, что торможение из за вывода строки объектов будет не особо заметно на фоне сдвига при движении по вертикали.
    Значит надо выводить постепенно.
    4 линии очистил - 4 линии вывел
    С уважением,
    Jerri / Red Triangle.

    Этот пользователь поблагодарил jerri за это полезное сообщение:

    metamorpho(02.08.2020)

Страница 21 из 45 ПерваяПервая ... 171819202122232425 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Бейсики для Вектора-06Ц и клонов
    от ivagor в разделе Вектор
    Ответов: 696
    Последнее: 25.10.2025, 02:34
  2. Картотека ПО для Вектора-06ц
    от svofski в разделе Вектор
    Ответов: 719
    Последнее: 04.04.2024, 11:13
  3. Восстановление Вектора-06ц
    от Daniil Chislov 86 в разделе Вектор
    Ответов: 100
    Последнее: 11.03.2021, 00:23
  4. Ответов: 198
    Последнее: 26.04.2020, 13:05
  5. Ответов: 58
    Последнее: 06.07.2019, 23:56

Ваши права

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