![]() |
вывод буковочек шириной точечек
Известно, что их RRA: RRA: RRA: RLCA, сдвигать нужно. И маску
ещё. Потом XOR: AND: XOR. Всё это отнимает кучу тактов. Некоторые умники сдвигают весь шрифт целиком. 2048*4=8КБайт, а то и все 16. Жуть. Имеется решение в 512 байт: таблица, где для каждого возможного байта из шрифта будет храниться два байта сдвинутых на нужное расстояние. 4 инструкции в примерно 22 такта заменяют несколько операций сдвига. Экономия. Но, наверное, небольшая. |
ничего не понял :confused:
что за "вывод символов шириной точек" ??? это как ? типа "а" - точки одной ширины "б" - другой а "в" - третьей ? |
Quote:
я, например, делал по-другому. в 7 регистров считываем данные, потом 7 процедур, скроллирующих сколько надо и насколько надо. примерно так же быстро, как и табличный метод, памяти кушает примерно столько же. проверял на опыте. |
Quote:
мне алко както "нафукал" про мой баян из процедур и ветвления. попробовал таблицу- еще хуже стало! как по памяти, так и по быстродействию. так что.... |
PUT это имеется ввиду просто байтик вывел и всё ?
М-да... Так что, выходит только классика ??? |
Если у отрезанных букв много элементов повторяется, то почему бы при отрисовке одной буквы её наиболее частый элемент не положить в регистр и писать из регистра?...
|
Увы, регистров тут фонарь... Это на амиге 16 штук :( Были попытки делать типа кеширование или умную печать и другие страшно умные слова... Т.е. при после ротации байты сохраняются и сохраняется код полосочки. Дальше все печатается и тп. а при следующем цикле проверяем, не повторяется ли эта полосочка. Для того, чтоб не ротировать, а просто взять сохраненное.
Ну дык тоже в итоге медленнее :( |
Quote:
ну я так делал у себя в QHTV. довольно шустро летает все. особенно если учесть, что сначала печать идет в буфер, а потом выводится на экран. притом что буфер еще предварительно очищается (не полностью правда) |
Буквы -- это в некотором смысле чанки. :)
В чанковых демах изображение сначала рендерится в чанковый буфер, а потом перерисовывается в пиксели на экран. Наиболее злые c2p способны отрисовать экран менее чем за 2 инта. Может быть некоторые идеи оттуда будут полезны? |
Quote:
|
| All times are GMT +4. The time now is 21:09. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.