本帖最后由 shane007 于 2011-2-15 11:31 编辑 6 F7 Y' o V1 A3 M+ Z: S3 l
4 f f7 q3 j- } K: P8 m4 Y
假设游戏共用到10种字体,为字体1 - 字体10。# V6 a. i) T0 P: T) \
假设游戏字幕所有不重复字符为2000个。
: M3 G; r$ t! H) ]; r/ {5 `6 t# `则目前的字体文件定义方式,在游戏启动初期,载入内存的字体数为2000 X 10 个,即20000个。, c: W* ]6 N7 H, S% Q
很明显,其中有冗余。' F0 F9 `$ m1 y1 ~; l8 j' U
我们假设% f. E4 [' ?3 r) q, g( M, z7 Z+ x
使用字体1的字幕中包含的不重复的字符数是a个8 E( o- Q5 O' B4 Y3 h' c7 q
使用字体2的字幕中包含的不重复的字符数是b个& E+ d2 I9 r9 f5 `* T! T6 t
。。; o' F# g: T% C1 G, G
使用字体10的字幕中包含的不重复的字符数是j个
* J. X1 }' T' M% `0 g8 m& N/ S, a; d. N
2000<a+b+c+d+e+f+g+h+i+j<20000.! c: f& s- N# U, y e$ E
7 Q6 m R: A$ p( M" e* |
很明显,我们只要找到各条字幕所对应字体,就能使游戏启动初期,载入内存的字体数降低为" q9 a# j& A1 {+ s6 e' q
a+b+c+d+e+f+g+h+i+j个。; M C& m3 c- N9 i
8 E% @; ?* ^$ T3 W$ c
0 Y' L4 z8 g/ G1 r9 F |