История изменений
Исправление Vit, (текущая версия) :
Зависит от контекста применения, если тут всего 3 бита - то вполне может выстрелить.
Ну фик знает, если на глаз, то профит от слоев - затухающая геометрическая прогрессия. То есть, там будет в пределе полтора-два раза, при сильно попутном ветре и положении звезд, которые сходятся раз в сто лет. Это очень скромно. Хотелось бы начать с методов, где вероятен профит 5-10 раз.
мне кажется что однобитные алгоритмы довольно ущербные by design.
Это от недостатка опыта. Есть хорошие академические примеры 1-битных алгоритмов, которые в идеологии SIMD работают, тоесть словами по 32 бита фигачат, получается быстрее чем у всех, и сильно экономно по памяти.
Я не про скорость, а про саму суть. Однобитные алгоритмы обычно основаны на наличии длинных серий, чтобы свернуть все обратно в повторяющиеся байты [ 00 / FF ] и [ остальное ]. Для листа бумаги такие серии найдутся, для мелкого глифа - нет.
Это конечно сильно утрировано. Но по смыслу - чем меньше в картинке битов, тем меньше шансов у алгоритма «разогнаться».
Единственное что в голову приходит - разделить эту проблему между всеми глифами. То есть, сделав общий словарь [чего-то]. Но это пока только на уровне ощущений, и в рамках того что я знаю. Может есть какие-то другие принципы.
типовой размер 16*12, и ширина *3 если субпиксельное сглаживание
Так одна ‘строка’ картинки влазит в 1 uint16_t, если совсем-по тупому битмапой кодировать (ну или в 3 uint16_t).
Лучше не думать в таких терминах. Есть базовый размер глифа («высота похожа для большинства глифов»). А реальная картинка может быть любой ширины, и даже по высоте за пределы вылазить.
Поэтому проще всегда задавать размер и смещение битмапа. Это заодно отсекает белые поля. И еще в заголовке фонта указывается размерность чисел, которые задают габариты и смещение.
Да и вообще есть же https://compression.ru/download/ явно лучше чем researchgate в данном вопросе :)
Посмотрю, спасибо.
PS. Если что, тот конвертор шрифтов, на который ссылался, показывает весьма достойные результаты. Мне просто интересно понять, реально ли улучшить результат в разы. На 10-20% не интересно.
Исходная версия Vit, :
Зависит от контекста применения, если тут всего 3 бита - то вполне может выстрелить.
Ну фик знает, если на глаз, то профит от слоев - затухающая геометрическая прогрессия. То есть, там будет в пределе полтора-два раза, при сильно попутном ветре и положении звезд, которые сходятся раз в сто лет. Это очень скромно. Хотелось бы начать с методов, где вероятен профит 5-10 раз.
мне кажется что однобитные алгоритмы довольно ущербные by design. Это от недостатка опыта. Есть хорошие академические примеры 1-битных алгоритмов, которые в идеологии SIMD работают, тоесть словами по 32 бита фигачат, получается быстрее чем у всех, и сильно экономно по памяти.
Я не про скорость, а про саму суть. Однобитные алгоритмы обычно основаны на наличии длинных серий, чтобы свернуть все обратно в повторяющиеся байты [ 00 / FF ] и [ остальное ]. Для листа бумаги такие серии найдутся, для мелкого глифа - нет.
Это конечно сильно утрировано. Но по смыслу - чем меньше в картинке битов, тем меньше шансов у алгоритма «разогнаться».
Единственное что в голову приходит - разделить эту проблему между всеми глифами. То есть, сделав общий словарь [чего-то]. Но это пока только на уровне ощущений, и в рамках того что я знаю. Может есть какие-то другие принципы.
типовой размер 16*12, и ширина *3 если субпиксельное сглаживание Так одна ‘строка’ картинки влазит в 1 uint16_t, если совсем-по тупому битмапой кодировать (ну или в 3 uint16_t).
Лучше не думать в таких терминах. Есть базовый размер глифа («высота похожа для большинства глифов»). А реальная картинка может быть любой ширины, и даже по высоте за пределы вылазить.
Поэтому проще всегда задавать размер и смещение битмапа. Это заодно отсекает белые поля. И еще в заголовке фонта указывается размерность чисел, которые задают габариты и смещение.
Да и вообще есть же https://compression.ru/download/ явно лучше чем researchgate в данном вопросе :)
Посмотрю, спасибо.
PS. Если что, тот конвертор шрифтов, на который ссылался, показывает весьма достойные результаты. Мне просто интересно понять, реально ли улучшить результат в разы. На 10-20% не интересно.