Page 3 of 5
Re: Немасштабируемые векторные шрифты
Posted: Thu Mar 29, 2012 2:09 am
by art_zh
Mario
Да будут, будут больше, дай этот причесать!
Уж ты-то должен представлять, сколько времени надо было ухлопать хотя бы
на вот этот файлик.
dunkaist
да, кое-где еще заусенцы торчат, надо вылизивать. И еще штук 50 символов недорисованы.
дело не в скорости отрисовки - в трудоемкости кодирования. Ну и с парсером заморочек был вагон.
SoUrcerer
#2522: можно тестировать.
Просто замени файл gui/font.inc и скопируй папку /fonts из А-версии в свое ядро
Re: Немасштабируемые векторные шрифты
Posted: Thu Mar 29, 2012 5:06 pm
by XVilka
art_zh: ты его чем-то генеришь, или вручную правишь?
Re: Немасштабируемые векторные шрифты
Posted: Thu Mar 29, 2012 5:44 pm
by art_zh
Пока вручную,
но надо какой-то IDE придумать для редактирования, иначе свихнешься.
Re: Немасштабируемые векторные шрифты
Posted: Thu Mar 29, 2012 6:17 pm
by Mario
Только руками! Только хардкор!
Re: Немасштабируемые векторные шрифты
Posted: Thu Aug 23, 2012 1:49 am
by art_zh
Забавный эффект при перересовке частично перекрытого окна:
-
FNT.png (6.99 KiB)
Viewed 9587 times
старые системные фонты тратят кучу времени, обнюхивая экранную карту для каждого пикселя.
новый шрифт "шарит по углам", и если хотя бы один угол перекрыт - просто ничего не рисует. Такой вот мини-клиппинг.
Профит (в тактах процессора) - в левом столбце.
Re: Немасштабируемые векторные шрифты
Posted: Mon Aug 27, 2012 5:16 pm
by SoUrcerer
Больше - хуже или лучше?
Re: Немасштабируемые векторные шрифты
Posted: Mon Aug 27, 2012 8:29 pm
by hidnplayr
to eliminate the 'funny effect' you could use following logic:
- if all corners overlapped, dont draw
- no corners overlapped, draw
- some corners overlapped, use the old method: check all pixels
Re: Немасштабируемые векторные шрифты
Posted: Mon Aug 27, 2012 10:03 pm
by art_zh
I'm OK with this - the new font is working 4 times faster because no need in drawing on the overlapped areas.
Re: Немасштабируемые векторные шрифты
Posted: Mon Aug 27, 2012 10:09 pm
by hidnplayr
Ok, I can also live with it personally
Re: Немасштабируемые векторные шрифты
Posted: Tue Aug 28, 2012 3:14 am
by art_zh
SoUrcerer wrote:Больше - хуже или лучше?
the code is the same as
before, but the test string is a bit longer (90 characters), and the window is partially overlapped
left column = number of CPU clocks needed to write it (see the code there)
Re: Немасштабируемые векторные шрифты
Posted: Fri Aug 31, 2012 1:31 am
by Gluk
с пропавшими при перекрытии символами получается ужасно.
Spoiler:
Я придумал ещё более быстрый шрифт: он просто ничего не рисует. Как развитие идеи art_zh насчёт [отсутствия] обработки перекрытий. В самом деле, прочие шрифты тратят кучу времени на то, чтобы что-то отрисовывать...
Re: Немасштабируемые векторные шрифты
Posted: Fri Aug 31, 2012 7:08 am
by Mario
Gluk
Никто ведь не заставляет использовать. Более того шрифт автор разрабатывал для себя и первоначально не планировал заливать в транк.
Re: Немасштабируемые векторные шрифты
Posted: Fri Aug 31, 2012 11:14 am
by art_zh
Gluk wrote:с пропавшими при перекрытии символами получается ужасно.
по мне, разрезанный верхним окном (или краем собственного окна) символ тоже смотрится некошерно.
но при желании этот глюк можно очевидным образом поправить:
hidnplayr wrote:- if all corners overlapped, dont draw
- no corners overlapped, draw
- some corners overlapped, use the old method: check all pixels
Кстати, старые матричные шрифты тоже можно довести до ума тем же макаром - слишком уж много ресурсов они жрут на невидимых полях (столько же, как и на видимых).
Gluk wrote:Я придумал ещё более быстрый шрифт: он просто ничего не рисует. Как развитие идеи art_zh насчёт [отсутствия] обработки перекрытий. В самом деле, прочие шрифты тратят кучу времени на то, чтобы что-то отрисовывать...
это типа сарказм такой
Re: Немасштабируемые векторные шрифты
Posted: Fri Aug 31, 2012 12:32 pm
by art_zh
Mario wrote:Никто ведь не заставляет использовать. Более того шрифт автор разрабатывал для себя и первоначально не планировал заливать в транк.
Вообще-то дальний прицел был именно на замену стандартных фонтов, в том числе и в транке.
Конечно векторные шрифты 1) быстрее, 2) компактнее растровых, и как было показано выше, 3) сильно разгружают графическую подсистему.
Но дело не только в этом:
4) очень полезно было бы иметь (хотя бы один) шрифт монолитно встроенным в ядро, чтобы выводить на экран сообщения на самых ранних этапах загрузки, еще до настройки файловой системы.
5) одинаковый набор глифов можно использовать для двух шрифтов: моноширинного и пропорционального -> плотность упаковки еще удваивается.
6) таких шрифтов больше нет нигде и ни у кого, они принципиально отличаются от всего, что было напатентовано за последние 30лет -> любые лицензионные заморочки отпадают присно и во веки веков.
К сожалению, я даже представить не мог насколько трудоемкими будут разработка формата и дизайн глифов.
Re: Немасштабируемые векторные шрифты
Posted: Fri Aug 31, 2012 2:26 pm
by Mario
art_zh
1) Насколько я мог судить по последовательности твоих комментариев на форуме, то первоначально задумка касалась исключительно Kolibri-A.
2) Если бы со шрифтами все было просто, то мы бы уже имели давно несколько вариантов своих велосипедов. Технически велосипеды то есть, но ни один не доведен до логического завершения.