本帖最后由 shane007 于 2011-2-15 11:31 编辑 ' ^; L$ l: G$ n( a8 Y& k
4 i! \2 `! ^4 Y# I4 o/ x [假设游戏共用到10种字体,为字体1 - 字体10。& z% J7 D8 Z% c. a
假设游戏字幕所有不重复字符为2000个。
, ]; p( z7 I, g7 y1 n6 s+ d8 f) F则目前的字体文件定义方式,在游戏启动初期,载入内存的字体数为2000 X 10 个,即20000个。# N7 U; Z% Q: F$ q
很明显,其中有冗余。
8 z+ i/ T* L: w1 @9 }3 S我们假设
$ X& v9 B0 K* k% z% I5 p! |; V! p使用字体1的字幕中包含的不重复的字符数是a个8 }- L% M7 D {# H8 u& s$ h# `
使用字体2的字幕中包含的不重复的字符数是b个9 i( m2 ?, h+ T N- {- [/ f* H
。。/ i$ l' ^) \4 E
使用字体10的字幕中包含的不重复的字符数是j个4 l% ^4 _3 }9 g' P/ ]8 ?6 o G% u3 d% U
$ B$ v8 N8 G: Y( ^) Z2000<a+b+c+d+e+f+g+h+i+j<20000.
$ v0 u& ~9 A5 G+ S* f a$ z0 f$ y6 ?' B* Y& H
很明显,我们只要找到各条字幕所对应字体,就能使游戏启动初期,载入内存的字体数降低为
4 B* l* i$ B4 ?/ q3 `- \4 ?: {5 aa+b+c+d+e+f+g+h+i+j个。
, f, `% J8 Q i T
1 [9 _2 j q% o) V( D1 {+ V3 a: M$ E- ?) {3 y2 {6 k
|