Unity优化笔记–裁剪游戏中的TTF字体.

  • Post author:
  • Post category:其他


最近一直在搞Unity客户端的优化,有必要记录下一些优化方法备忘。

当用unity的profiler观察游戏的内存使用的时候,发现游戏TrueType字体用了13.7M的内存。


这在手机平台上相当难以接受,于是我决定找找解决方案。在网上搜罗了一翻,发现有一家公司提供unity的压缩字体解决方案,能把10多M的TTF压缩成几百K,原理是他们自己开发了一套自己的字体引擎。不过由于没有预算,买不起他家的解决方案,我还是决定自己研究一下咋子整。

最终此BitBucket上找到了一个perl工程,

font-optimizer

。拉取代码到本地。

为了运行它,还需要装Perl解释器,于是又下载了ActivePerl。装好ActivePerl后,还需要打开Perl Package Manager来安装Font::TTF库。这样才能运行整个工程。

运行的命令行是

./subset.pl --chars="我的游戏只用这几个字" input.ttf output.ttf

或是

./subset.pl --charsfile=common.txt input.ttf output.ttf

subset.pl会从input.tff中抽取包含–chars或–charsfile对应参数的文字到output.ttf中。这样我们就得到了一个字体的子集。

我采用的第二种命令行,因此需要准备一个常用字的txt文件。

这里我搞了一个包含9000多常用汉字的字符集,普通游戏用都差不多了。

转换后只有4.7M,少了9M。作用太明显啦





版权声明:本文为cyxisgreat原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。