Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Но в файле изображения придётся использовать по крайней мере один байт на пиксель (0x00 или 0x01), поэтому минимальный размер изображения будет составлять (без сжатия) 10240 байт (160 x 64).
Я ожидал, что компилятор сгенерирует из оператора switch таблицу переходов, чтобы GetGlyphIndex выполнялась за O(1), однако компилятор генерирует для каждого глифа карты команду сравнения, например, 39 операторов if.
В результате получилась функция, работающая медленнее моих ожиданий. При тестировании рендеринга текста с большим количеством строк из-за этой функции частота кадров сильно падает.
Однако в создаваемой нами игре будет совсем мало текста, поэтому производительность останется удовлетворительной.
Можно было бы также создать хэш-таблицу, сопоставляющую char c int, но на этом этапе я не хочу реализовывать подобные структуры данных.
Автор, картинки исчезли!
Программирование игры для embedded-устройства на ESP32: шрифты и система тайлов