2007年10月29日
字汚れ解析中
ちょっと時間が出来たので、字汚れの件を調べている。
([#VWR-2410]noise dot appear in chat window when clien running long with chatting.)
https://jira.secondlife.com/browse/VWR-2410
●動作
文字列を表示するときには、表示したい1つずつの文字の形(グリフ)が必要で、
何度もファイルから取り出さなくてもいいように、一旦取り出した文字は
自前のキャッシュに入れておく。
表示する際は、まずキャッシュの中を探す。
キャッシュになければファイルから取り出して、キャッシュに入れてから表示する。
しかし何かのタイミングでキャッシュに入っているはずの文字を
何文字も続けて登録する場合があり、その処理が終わったときには字汚れになっている。
●状況の補足
SNSやJIRAにある状況に補足すると、
・英語でも日本語でも、同じ文字には同じノイズが載る。
・日本語の文字はアンチエイリアシングされていない(白黒2値)。
だが、ノイズはグレーの点もある。
・日本語は文字の左右にノイズが出るが、英語は左右と上に出る。
・字汚れが出た後も操作を続けると、ノイズが変化する。
うちの環境では、文字の種類(=キャッシュに入っている文字)が
700ちょっとを越えたあたりで字汚れが起きる。
(英数字記号程度で再現できないのは納得)
・・・と、ここまで書いておけば、私が解析しおわる前に
通りすがりの勇者がちょちょいと直してくれるに違いない。
「せめてお名前を…」と言う準備をしておこう(笑)