ZXNet эхоконференция «code.zx»


тема: вывод буковочек шириной точечек



от: jtn
кому: All
дата: 15 Jan 2006
Hello, lvd в #z80-06 76кб текста, музыка, гора таблиц, фонт 4x7 и пропорциональный Xx7 развернутый 8 раз. декранчится код на горизонтальную строку - вызывается 8 раз. вывод экрана push'ми (в push'евом буфере +2 строки - след. верхняя и нижняя, сначала строится весь новый экран потом декранчится в буфер новая строка - чтобы луч не резало). ускорение фиг знает сильное ли получилось но в турбомоде весь экран без верхних трех знакомест успевает (24 текст строки), без турбо - строк 9 (с вкл. музыкой вроде) - строки 7 пикс выстотой

от: lvd
кому: All
дата: 15 Jan 2006
Hello, captain cobalt cap> А правда, что буквы моноширинного шрифта 6 пикс. могут занимать cap> только 4 различных положения относительно знакоместа? ;) А правда, что ты не знаешь, о чём конкретно я говорил? Выйдет хостагес от 3умф+майхем - узнаешь.

от: lvd
кому: All
дата: 15 Jan 2006
Hello, Знахарь > Увы, регистров тут фонарь... Это на амиге 16 штук :( Таки у Z80 16 тоже регистров! А если индексы на половинки разбить то и вообще 18 =)

от: van Yu Shinn
кому: All
дата: 15 Jan 2006
Hello, fk0 lvd> 8 процедур вывода буковки. Из них 3 выводят в 1 байт, остальные в 2 lvd> байта (фонт 6 точек шириной). А правда, что буквы моноширинного шрифта 6 пикс. могут занимать только 4 различных положения относительно знакоместа? ;)

от: van Yu Shinn
кому: All
дата: 15 Jan 2006
Hello, fk0 Буквы -- это в некотором смысле чанки. :) В чанковых демах изображение сначала рендерится в чанковый буфер, а потом перерисовывается в пиксели на экран. Hаиболее злые c2p способны отрисовать экран менее чем за 2 инта. Может быть некоторые идеи оттуда будут полезны?

от: van Yu Shinn
кому: All
дата: 15 Jan 2006
Hello, fk0 Если у отрезанных букв много элементов повторяется, то почему бы при отрисовке одной буквы её наиболее частый элемент не положить в регистр и писать из регистра?...

от: Владимир Кладов
кому: All
дата: 15 Jan 2006
Hello, jtn если выводить символ за символом, то это будет очень медленно. Hо почему-то все идут именно этим путем. Традиционное мышление. Что есть изменить порядок вывода? Для вывода страницы сначала текст просматривается и помечаются буковки, которые можно вывести без маски, просто "положить" в память, и для каждой буковки считается смещение. Смещение кстати может быть и переменным, если шрифт не моноширинный, например для широких буковок 5, а для поуже 4, а i та вообще 2 занимать может. Таблица сдвигов для максимальной ширины 5 (т.е. 6 с зазором) займет 32х8 = 256 байт. Ее надо разместить по границе блока 256 байт. Hа втором проходе печатаются оставшиеся буковки, уже с маской. Если делать через буфер, то на одном кадре надо заполнять буфер, а на втором перебрасывать его двигаясь позади луча.

от: Гаврилов Виталий
кому: All
дата: 15 Jan 2006
Hello, Vladimir Kladov Vla> Что есть изменить порядок вывода? Для вывода страницы сначала текст Vla> просматривается и помечаются буковки, которые можно вывести без Vla> маски, просто "положить" в память, и для каждой буковки считается Vla> смещение. ага. а сколько будет "стоить" первоначальный просмотр строки с подсчетом позиции текущего символа (я про пропорциональный шрифт говорю), потом вывод (обязательно по OR/XOR) оставшихся со сдвигом?

от: Гаврилов Виталий
кому: All
дата: 15 Jan 2006
Hello, Знахарь > PUT это имеется ввиду просто байтик вывел и всё ? > > М-да... Так что, выходит только классика ??? выходит так (с) Винни Пух %) ну я так делал у себя в QHTV. довольно шустро летает все. особенно если учесть, что сначала печать идет в буфер, а потом выводится на экран. притом что буфер еще предварительно очищается (не полностью правда)

от: Знахарь
кому: All
дата: 15 Jan 2006
Hello, Vitamin PUT это имеется ввиду просто байтик вывел и всё ? М-да... Так что, выходит только классика ???

от: Знахарь
кому: All
дата: 15 Jan 2006
Hello, captain cobalt Увы, регистров тут фонарь... Это на амиге 16 штук :( Были попытки делать типа кеширование или умную печать и другие страшно умные слова... Т.е. при после ротации байты сохраняются и сохраняется код полосочки. Дальше все печатается и тп. а при следующем цикле проверяем, не повторяется ли эта полосочка. Для того, чтоб не ротировать, а просто взять сохраненное. Hу дык тоже в итоге медленнее :(




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Железо - Как выбрать себе хороший домашний компьютер. PC или ZX?
Olds - критика Alone Coder журнала Kpuk#2.
Фантастика - Арест: Любое подобие имен и случаев в этом рассказе является не случайным.
Страничка iS-DOS - Описание рестартов системы IS DOS.
СС'2000 - интервью: Doctor MAX/Global Corp. GLOBAL TRACKER v2.0 не за горами!

В этот день...   8 мая