出費0円でXF86を高速化する

これがMTRRを設定する前のxengineでのベンチマークです。

Before MTRR
平均して370rpmというところでしょうか。

まず、/proc/cpuinfoを行い。flags:にmtrrがあるかを確認します。
なければ、CPU自体がMTRRに対応していないという事です。
もしあるならば、/proc/mtrrがあるか調べましょう。
中には
reg00 ---------
reg01 ---------
のように書いてあると思います。
これがなければ、カーネルがサポートしていないという事です。この時はカーネル再構築する事で有効にできます。
つぎにXF86のログファイルを読み、最後のアドレスを控えましょう。
うちのSiS620は0xe5000000というアドレスでした。

echo "base=0xe5000000 size=0x400000 type=write-combining" > /proc/mtrr

上記のようにMTRRにメッセージを送ります。
0x400000はVRAMが4MBという意味です。
8MBなら0x800000という具合いです。
そして、

cat /proc/mtrr

とコマンドを打ちます。
reg00 ---------
reg01 ---------
reg02 ---------
1行追加されると、ひとまず成功です。
これでXF86を立ち上げます。
画面に線が入ったりする場合は失敗です。その際には

echo "disable=2" > /proc/mtrr

とメッセージを送ってあげます。そうすると3行目が消えます。
sizeを微調整するとなおることもありますので、頑張ってみましょう。

xengineでベンチマークした結果です。
After MTRR
平均して930rpm程度にアップしています。
私のマシンでは描画速度が3倍程度にアップしたことがわかります。
体感速度もかなり違います。ビュンビュンです。


これで喜んだんですが、MTRRできないLOOXの方が早かったです。(^_^;

LOOX
こちらは2000rpm程度出ていますね。まぁ、VRAMが8MB。当たり前でしょか。


Copyright (C) 1998-2004 Hajime Taira All Rights Reserved.