最近一直在搞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 版权协议,转载请附上原文出处链接和本声明。