Я пытаюсь понять, что происходит в freetype, чтобы понять производительность, которую я получаю.
После загрузки шрифта:
FT_Init_FreeType(Context);
FT_New_Face(Context, FontFileName, 0, Face);
Все, что это делает, это загрузитьшрифт, но не создает никаких глифов.Когда я создаю свои глифы:
for (j = 32; j < 128; j++) {
FT_Load_Char(i->ftFace, j, FT_LOAD_RENDER);
...
}
имеет очень низкую производительность.После просмотра документов выглядит, что FT_Load_Char вызывает FT_Load_Glyph.Я не уверен, почему это будет иметь такую низкую производительность, и хотел бы получить лучшее понимание.Документы не объясняют, что именно делает эта функция.Единственное, что я могу себе представить, - это то, где преобразования применяются к SVG в ttf, а затем превращаются в растровое изображение.Это единственное объяснение, которое я могу придумать для производительности.
Если кто-то с большим опытом работы с freetype хотел бы уточнить, что происходит, или есть предложения о том, как избежать низкой производительности генерации глифа, есливозможно, это было бы очень признательно.