gpt4 book ai didi

开罗字形缓存

转载 作者:太空宇宙 更新时间:2023-11-04 02:40:53 27 4
gpt4 key购买 nike

我在嵌入式设备上使用 Cairo 进行文本渲染。我已经评估了“玩具”文本 API(即 cairo_show_text),它运行良好且高效。不幸的是,它只支持最基本的操作,并且总是立即丢弃形状。

我需要做的是绘制带有填充描边的简单文本。当我使用稍微复杂一点的 API (cairo_text_path) 执行此操作时,它可以工作,但性能会下降到 Not Acceptable 水平。

找到文档有点困难,但我确实找到了这个提示:

Be aware cairo_show_text() caches glyphs so is much more efficient if you work with a lot of text.

我在哪里可以阅读有关此字形缓存的信息以及如何对 cairo_text_path 进行缓存?理想情况下,是否有这样做的代码示例?我只需要支持这个简单的用例。

最佳答案

cairo_text_path 将包含所有字形的文本转换为路径并将其添加到上下文中。渲染这条路径是昂贵的,因为有很多段——每个字形都有几十个移动、直线、曲线。

cairo_show_text 的字形缓存意味着重复的字形/字符被渲染一次并以更便宜的格式(如扫描线、三角形或位图)保存以供以后出现。因为字体不会在中间改变,所以这种回收不是问题。

你可以自己做这个缓存,在 image surfaces 上渲染字形并将它们用作 pattern , 或者简单地使用 bitmap fonts从头开始。

关于开罗字形缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31984901/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com