感谢新的Chrome实验分析器,我正在获得有关我正在开发的Canvas2D应用程序的更多信息。字形高速缓存内存使用大量,如下所示:
我怀疑它之所以这样做的原因之一就是我沿路径逐个绘制每个角色(因为只有Firefox目前支持路径上的文本)。因此,每个字符都被添加到字形缓存中,使内存使用量变得极大,渲染速度也会慢下来。
在Android中我特别担心,我正在开发有限的资源。该应用程序基本上无法使用,除非我不以这种方式呈现任何文本。
This article建议使用小屏幕外画布和drawImage
调用可以提高性能,但那是在2年前。
那么,Chrome的字形缓存实际上如何运作?它是否缓存每个字符,每个字,每个字符串传递给fillText
?它是仅按字符或(character, size)
的元组进行缓存吗?