本帖最后由 shane007 于 2011-2-15 11:31 编辑 0 I* u7 o" d; E& r! _1 H8 Z9 }4 `
, k t0 [$ N0 o5 Z
假设游戏共用到10种字体,为字体1 - 字体10。
8 d% Y6 t, Y: R1 C( L5 [6 [0 ?假设游戏字幕所有不重复字符为2000个。, X/ b8 i$ y& D0 r$ ~1 c% |
则目前的字体文件定义方式,在游戏启动初期,载入内存的字体数为2000 X 10 个,即20000个。
# ]+ y8 K1 q8 W3 j很明显,其中有冗余。* Y4 J' p: v# Q' m, I' o
我们假设
9 Y/ u' N4 l& F3 e% V7 N3 J使用字体1的字幕中包含的不重复的字符数是a个
8 {2 Y. x0 v! s- W4 I' q使用字体2的字幕中包含的不重复的字符数是b个 e7 g6 H& v a" t& O2 \* x2 R
。。
3 x) T9 v, C8 G/ k使用字体10的字幕中包含的不重复的字符数是j个
+ L( p4 x! S; B6 F; H: }% f1 A/ A" e- g9 t
2000<a+b+c+d+e+f+g+h+i+j<20000.' q# m3 ~; |5 t
. E9 T; f) a# d+ G
很明显,我们只要找到各条字幕所对应字体,就能使游戏启动初期,载入内存的字体数降低为' U$ G* C# E% \7 K" ~
a+b+c+d+e+f+g+h+i+j个。
: z: U6 r& a% o0 z- s
9 U% c" Y* m5 b/ ]% z
/ I. e* f! s% S D# s6 U |