本帖最后由 shane007 于 2011-2-15 11:31 编辑 $ i2 b! N) c4 i% T6 a/ t, j" C
+ p$ n7 \& ~2 S
假设游戏共用到10种字体,为字体1 - 字体10。
* ^, j* q' y. h; E假设游戏字幕所有不重复字符为2000个。
2 N* T0 o3 u Q8 b6 |' u1 D则目前的字体文件定义方式,在游戏启动初期,载入内存的字体数为2000 X 10 个,即20000个。
% G' W' G8 G* M9 u* f0 C! |很明显,其中有冗余。
$ ~/ B* l7 F( _- a0 j+ j( } p我们假设. v2 {6 A; g! g: x4 L7 M
使用字体1的字幕中包含的不重复的字符数是a个
% K% A% ^2 q) M3 i. d* p$ V+ S使用字体2的字幕中包含的不重复的字符数是b个2 k4 {0 {" b2 z
。。 x+ d9 I& {7 L/ I
使用字体10的字幕中包含的不重复的字符数是j个# c* E4 a8 e( n0 i% {7 a# b" N/ f
8 r e6 w& F1 \0 }/ W7 Y
2000<a+b+c+d+e+f+g+h+i+j<20000. h) V# Q' L+ s/ E- I( {! H" W2 E
: u( e+ z% O2 j, g. E/ b
很明显,我们只要找到各条字幕所对应字体,就能使游戏启动初期,载入内存的字体数降低为
& Y G. {' s6 _' ma+b+c+d+e+f+g+h+i+j个。
3 s7 i# |$ Y4 C: h2 y+ {1 _& A( U* b
& u! o: m2 f# ]9 i3 e' g8 x
|