Как стать автором
Обновить

Программирование игры для embedded-устройства на ESP32: шрифты и система тайлов

Время на прочтение16 мин
Количество просмотров3.4K
Всего голосов 12: ↑12 и ↓0+12
Комментарии1

Комментарии 1

Но в файле изображения придётся использовать по крайней мере один байт на пиксель (0x00 или 0x01), поэтому минимальный размер изображения будет составлять (без сжатия) 10240 байт (160 x 64).

Эм… А какже, к примеру, монохромный BMP?
Я ожидал, что компилятор сгенерирует из оператора switch таблицу переходов, чтобы GetGlyphIndex выполнялась за O(1), однако компилятор генерирует для каждого глифа карты команду сравнения, например, 39 операторов if.

В результате получилась функция, работающая медленнее моих ожиданий. При тестировании рендеринга текста с большим количеством строк из-за этой функции частота кадров сильно падает.

Однако в создаваемой нами игре будет совсем мало текста, поэтому производительность останется удовлетворительной.

Можно было бы также создать хэш-таблицу, сопоставляющую char c int, но на этом этапе я не хочу реализовывать подобные структуры данных.

Честно говоря, это пример того как НЕ надо делать.
Чем не устроил массив из 256 указателей на глифы, или вообще хранение глифов одним массивом. Учитывая моноширинность шрифта.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации