本帖最后由 shane007 于 2011-2-15 11:31 编辑 4 }* j: e8 ~0 u" u2 G b7 C. c) K
# `* t. Y( _' q# ]+ S, p: o假设游戏共用到10种字体,为字体1 - 字体10。/ P$ h4 r8 [/ O
假设游戏字幕所有不重复字符为2000个。5 Y9 @, O7 {; |
则目前的字体文件定义方式,在游戏启动初期,载入内存的字体数为2000 X 10 个,即20000个。
9 e. l/ u6 ]4 J5 J6 c很明显,其中有冗余。
/ |8 ^( m* P# K" @$ }1 X! `我们假设
/ r7 d; a: ^2 a4 Q. J' @6 _使用字体1的字幕中包含的不重复的字符数是a个 E1 e$ }4 n: I3 `2 ~, ]4 ^3 K1 S K
使用字体2的字幕中包含的不重复的字符数是b个1 Q7 d* r- w6 Z' L1 Z; q% ^) e) ]
。。' a& I$ R/ _9 x5 s: R4 C/ ^
使用字体10的字幕中包含的不重复的字符数是j个' O7 x: d# f$ @1 |
4 i1 s) z5 G7 U! O# z5 w
2000<a+b+c+d+e+f+g+h+i+j<20000.# E) y; s0 U5 X! d7 ]+ V
! H5 ~7 ^4 d, p% m0 ^, y2 X很明显,我们只要找到各条字幕所对应字体,就能使游戏启动初期,载入内存的字体数降低为& {% z# v" G- I( L) [& ^* u
a+b+c+d+e+f+g+h+i+j个。% e0 c& b8 q+ D/ S/ V
' Q `3 v0 d3 I2 o8 n/ U4 Z9 Q0 T" B5 w
|