本帖最后由 shane007 于 2011-2-15 11:31 编辑
1 {: i1 y0 V: u7 R" C( ~1 C/ x) G" r. e' ]6 A4 V
假设游戏共用到10种字体,为字体1 - 字体10。$ Q( {9 Y! g3 O9 x' c0 r
假设游戏字幕所有不重复字符为2000个。( ~* G6 Z& b. h9 N2 r) _
则目前的字体文件定义方式,在游戏启动初期,载入内存的字体数为2000 X 10 个,即20000个。, X; P: j8 h% Z/ ]' W2 j; t
很明显,其中有冗余。. B0 K( S4 L) T
我们假设0 K+ g6 r, s& \3 C9 e
使用字体1的字幕中包含的不重复的字符数是a个 |$ J: |5 L$ Y+ O
使用字体2的字幕中包含的不重复的字符数是b个6 |& @. k: _: s- T
。。
% ^) }+ C, _, m) _1 b使用字体10的字幕中包含的不重复的字符数是j个' T. H- t! ~" W) @- ]& G
3 N$ J/ x6 E( P; Z( g& R
2000<a+b+c+d+e+f+g+h+i+j<20000./ ~% E* q' ]% P; q
+ P% `% |- i: \* ^2 l6 L' C
很明显,我们只要找到各条字幕所对应字体,就能使游戏启动初期,载入内存的字体数降低为
; v( w6 o. a; p2 ga+b+c+d+e+f+g+h+i+j个。
% W4 \7 I, J& t
& P0 I/ |- z# R, U9 k. v. o
& {0 x# d$ z$ Q9 _0 [+ V |