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

User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 11 из 11

Тема: Расчет адреса точки на экране

  1. #11
    Member
    Регистрация
    25.04.2009
    Адрес
    Gomel, Belarus
    Сообщений
    32
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от GriV Посмотреть сообщение
    Скорость прорисовки можно увеличить, если заменить финальную часть поиска начала таблицы на простое ld d,'tab; ld e,b и чтобы таблице tab была выровнена по 256 байтам + содержала все смещения от 0 до 255, даст выигрыш (10+4+7+4+4) - (7+4) = 18 тактов.
    Можно. Но использование таблиц и макросов, раздувающих простые процедуры в сотни и более байт - это преждевременная оптимизация.

    Чаще всего в случае необходимости быстрой печати точек используются другие подходы. Например обработка точек целыми блоками (используя особенности рисования или результаты предыдущих вычислений).

    Цитата Сообщение от GriV Посмотреть сообщение
    Ещё можно ускорить для случаев, когда надо только выставлять точку или только стирать точку - использованием команд Res <num>,(HL) и Set <num>,(HL). В этом случае используется самомодифицирующийся код: ld a,b; add a,a; add a,a; add a,a; or %01000101; ld (set_+1),a; set_: set 0,(hl)
    set 0,(hl) имеется ввиду #CB #xx ? для set там вроде %11 bit SSS нужно, т.е. or %11000110.

    По тактам ваша замена у меня получается 4+4+4+4+7+13+15=51 такт вместо заменяемых 4+7+4+4+7+7+7=40. Не нахожу оптимизации..
    Проверьте мои вычисления, а то под рукой сейчас нет справочника, брал по памяти и отсюда.


    Цитата Сообщение от GriV Посмотреть сообщение
    add a,a; add a,a; add a,a
    Кстати, эта последовательность возможно может быть соптимизирована засчет уже имеющейся выше серии "srl b".

    Цитата Сообщение от GriV Посмотреть сообщение
    Зато выставляет цвет, проверяет положение точки в экране, чего не делает Ваша процедура
    Просто она делает только то, что от неё требуется (;
    Последний раз редактировалось bsivko; 26.07.2012 в 17:51.

Страница 2 из 2 ПерваяПервая 12

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

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

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

Похожие темы

  1. Адреса 00H-100H
    от Helloween в разделе Оси
    Ответов: 14
    Последнее: 10.05.2011, 14:26
  2. Ответов: 52
    Последнее: 24.05.2009, 10:40
  3. FDD - адреса
    от AlexBel в разделе MSX
    Ответов: 1
    Последнее: 11.05.2009, 10:45
  4. Ответов: 8
    Последнее: 22.08.2006, 22:36

Ваши права

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