ハードウェア、本体設定紹介
■フォントキャッシュとは何だろう

フォントキャッシュとは何だろうか?

PocketPCでは動作が遅い場合、フォントキャッシュを増やすといいと言われています。
フォントキャッシュを増やすとそれまで緩慢だったOSの動作が非常にサクサク動くようになります。では、フォントキャッシュとは一体何なのでしょうか?

フォントキャッシュはビットマップ

フォントキャッシュというからには、恐らくテキストのデータをキャッシュしているのだろうと、皆さん思っているかもしれません。しかし、実はフォントキャッシというのはビットマップデータをキャッシュしているのです。
この何だか少し不思議な事実には、実は現在主流となっているTrueTypeフォントをWindowsがどういう手順で文字として表示しているのかという事が関係しています。

Windows(PocketPC含む)はどういう手順で文字を表示しているのか

フォントを大別すると、ある分類方法ではビットマップフォントとアウトラインフォントの2種類に分類することが出来ます。

ビットマップフォントは絵

Windowsは文字をビットマップデータとして表示しています。
なのでそのフォントのデータを直接ビットマップデータで持ってしまおうという事で作られたのがビットマップフォントです。ビットマップフォントは文字の一つ一つを絵と同じようにビットマップデータで持っています。つまりイメージ的には文字の一つ一つをペイントブラシなどで手書きして、それを日本語の文字の数だけ書いて持っているような感じです。
これはデータをそのまま表示すればフォントとして見る事が出来るので、OSとしては文字表示にかける処理があまり無く手軽に扱えます。しかし、手軽な反面、文字のサイズを変更する際に問題が出てきます。文字のサイズを変える場合、ビットマップフォントでは画像をそのまま拡大、縮小します。その為、文字の周りにギザギザが目立つようになります。(写真を拡大すると画質が粗くなるようなイメージです)

例えば普通のサイズと小さいサイズ、大きいサイズのフォントを綺麗に表示させようと思った場合、それぞれのサイズで書かれた文字データが必要になります。
これは非常に手間がかかりますし、ファイルサイズも3倍近くに増えることになります。

つまり、システムに負担はかけない反面、あまりサイズの変更などに柔軟に対応できないフォントだといえます。

アウトラインフォントはデータ

アウトラインフォントは、文字の情報を直接絵として持つのではなく、輪郭などの情報をデータとして持っています。TrueTypeフォントは、このアウトラインフォントの一種です。
アウトラインフォントは、文字を表示する際に計算してビットマップイメージを描画しています。つまり、表示する際にシステムがフォントの輪郭データを元に適正なサイズの文字をビットマップとして出力しているわけです。
なのでアウトラインフォントは、文字のサイズを変更しても輪郭にギザギザが出にくく、サイズ変更などに柔軟に対応できるフォントだと言えます。しかし、その反面文字を表示する際に計算が必要になるので、システムに負担がかかります。
PocketPCのフォントには、このTrueTypeフォントが採用されています。(ファイラなどを導入して隠しファイルも表示する設定でWindowsフォルダ内を探せば、〜〜.ttf、〜〜.ttcというファイルが見つかると思いますが、それらがTrueTypeフォントです)

で、結局フォントキャッシュとは

ここで話は最初に戻りますが、フォントキャッシュとはTrueTypeフォントで文字を表示する際、一旦計算後に表示されたフォントのビットマップイメージを記憶しておくためのキャッシュです。一度目に文字が画面に表されると、その文字はビットマップイメージのままキャッシュに蓄積され、次にシステムが同じ文字を表示する場合に、もし同じサイズ同じ文字がフォントキャッシュ内に残っていれば、そちらを利用するわけです。。そうすれば文字描画の際の計算を省くことが出来、結果として処理を高速化することが出来るわけです。

フォントキャッシュを増やすと動作が高速化するというのは、上記のような原理でPocketPCが文字を表示していて、キャッシュを増やす事で文字描画のための計算を減らす事が出来、計算に使っていたリソースを他の作業、例えばウィンドウ枠の描画などに回せるようになるためだと考えられます。

フォントキャッシュの調整方法

フォントキャッシュを実際に増やす場合、よく用いられるのがレジストリエディタです。フォントキャッシュのサイズはレジストリに記述されているので、これを書き換えるのがもっとも手っ取り早い方法です。
しかし、レジストリエディタを用いたレジストリの編集には常に危険が伴います。例えば最悪の場合、システムが起動しなくなってしまう可能性も否定できません。

そういうわけで、フォントキャッシュの調整には通常TillanosoftさんのPocketTweakを用いるのが安全です。

で、フォントキャッシュのサイズですが、私は今4M(1024*4096=4194304バイト)割り当てています。 ばかっ速です(笑)

しかしレジストリ周り、特にフォントキャッシュ関連をいじる前には万が一の事を想定してバックアップを取っておきましょう。

今回動作確認したファイル
●Ver4.2
動作確認した機種
●GENIOe550G

 

戻る