admin管理员组文章数量:1026989
【CEGUI】字体加载优化
CEGUI 字体加载优化
- CEGUI字体加载流程详见【CEGUI】Font资源加载流程
- CEGUI对于字体加载,例如Freetype类型字体,会通过libfreetype遍历字体文件的所有字形索引,并保持其对应的字符码。
void FreeTypeFont::initialiseGlyphMap()
{FT_UInt gindex;// d_fontFace是该字体的FontFace对象,通过字形索引拿到其对应的字符码。FT_ULong codepoint = FT_Get_First_Char(d_fontFace, &gindex);FT_ULong max_codepoint = codepoint;// 这里会查找字体的所有字形while (gindex){if (max_codepoint < codepoint)max_codepoint = codepoint;// 构建字符码mapd_cp_map[codepoint] = FontGlyph();codepoint = FT_Get_Next_Char(d_fontFace, codepoint, &gindex);}setMaxCodepoint(max_codepoint);
}
- 优化:对于同一个字体文件,其字形索引和字符码。基本上都是一致的。因此同字体的不同字号,在加载资源时,可以服用。字符码和字形索引资源。
- 例如(伪码)
void FreeTypeFont::initialiseGlyphMap()
{// d_font_codePitonMap为静态成员变量// 根据字体名称,查找一下该字体的是否已经加载过。isFontLoaded(fontName);if (加载过) {d_cp_map = d_font_codePitonMap[fontName];// 其他处理} else {// 原有逻辑d_font_codePitonMap[fontName] = d_cp_map; }
}
- 这样的话,对于每个字体,会多一些内存消耗(保持了一段可服用的字符码map),但是加载字体的速度会有明显的提升。
【CEGUI】字体加载优化
CEGUI 字体加载优化
- CEGUI字体加载流程详见【CEGUI】Font资源加载流程
- CEGUI对于字体加载,例如Freetype类型字体,会通过libfreetype遍历字体文件的所有字形索引,并保持其对应的字符码。
void FreeTypeFont::initialiseGlyphMap()
{FT_UInt gindex;// d_fontFace是该字体的FontFace对象,通过字形索引拿到其对应的字符码。FT_ULong codepoint = FT_Get_First_Char(d_fontFace, &gindex);FT_ULong max_codepoint = codepoint;// 这里会查找字体的所有字形while (gindex){if (max_codepoint < codepoint)max_codepoint = codepoint;// 构建字符码mapd_cp_map[codepoint] = FontGlyph();codepoint = FT_Get_Next_Char(d_fontFace, codepoint, &gindex);}setMaxCodepoint(max_codepoint);
}
- 优化:对于同一个字体文件,其字形索引和字符码。基本上都是一致的。因此同字体的不同字号,在加载资源时,可以服用。字符码和字形索引资源。
- 例如(伪码)
void FreeTypeFont::initialiseGlyphMap()
{// d_font_codePitonMap为静态成员变量// 根据字体名称,查找一下该字体的是否已经加载过。isFontLoaded(fontName);if (加载过) {d_cp_map = d_font_codePitonMap[fontName];// 其他处理} else {// 原有逻辑d_font_codePitonMap[fontName] = d_cp_map; }
}
- 这样的话,对于每个字体,会多一些内存消耗(保持了一段可服用的字符码map),但是加载字体的速度会有明显的提升。
本文标签: CEGUI字体加载优化
版权声明:本文标题:【CEGUI】字体加载优化 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/IT/1694642627a254420.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论