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

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

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

Unity优化笔记--裁剪游戏中的TTF字体._第1张图片

    这在手机平台上相当难以接受,于是我决定找找解决方案。在网上搜罗了一翻,发现有一家公司提供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。作用太明显啦


你可能感兴趣的:(Unity)