ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
6 августа
1313326 Топик полностью
RxTx (27.05.2023 14:43, просмотров: 165) ответил Eddy_Em на Пиксельный буфер - когда на каждый пиксель свой цвет. А тут цвет спрайтами.
Ну методы быстрой отрисовки я тебе изложил. Они не lowlevel оптимизации (заинлайнить), поменять надо сам подход. Повторюсь, в буфер переносятся шрифты тупо копированием, без масштабирования на лету. Потому что надо понять и допустить самое главное допущение - в нормальном GUI дизайне используется всего 2-3 размера шрифа, ибо так красиво. Так что можно либо подготовить ходовые размеры и положить в пзу, либо держать в озу "кэш". memcpy в GCC будет intrinsic'ом вставлена 

(если не укажешь обратное) и заоптимизирована на уровне выбора даже если копируешь 4 байта. Что касается статей, то да, просто время софтварного блиттинга ушло и осталось в 1982...2010... Сейчас уже всё на GPU втч и даже на STM32U5...

https://blog.st.com/neochrom-gpu/

По шрифтам конечно ничего не найдешь, выискать про софтварный рендеринг шрифтов можно если поискать "FreeType". Вообще, перенос глифа шрифта это просто-напросто(*) софтварный спрайт. Ну или не софтварный, вполне может быть и STM DMA2D или Neochrom, но они тоже далеко не на всех Stm32...

* это в сильно простом случае. Я помню упарывался на J2ME игрушках и рендеринге субпиксельных true-type фонтов в маленьком экранчике (не на мобиле конечно, а рендерилку делал). Так вот именно с рендерингом мелких глифов шрифтов там всё очень непросто, даже если следовать всем рекомендациям рендеринга. Photoshop имеет 3-4 своих алгоритма и его рендеринг мелких true-type буковок смотрится на некотором отдалении намного лучше чем любой библиотечный (ну... так дела обстояли на 2012й скажем). Рендеринг 10винды визуально лучше чем рендеринг 7-ки. А визуальный рендеринг шрифтов на Mac все равно лучше чем на виндовозке, как бы они ни пыхтели, какие бы они там научные статьи ни писали.

Сюда сходи еще https://agg.sourceforge.net/antigrain.com/demo/index.html#PAGE_DEMO_freetype_test

Спасибо, князь. Вы настоящий дворянин. И программист.