FreeBSD Daily Topics

2008年4月23日NVIDIAドライバの性能をアップさせる方法 Compiz Fusion編

heads-up

NVIDIA + Compiz

NVIDIAドライバ(x11/nvidia-driver)とCompiz Fusion(x11-wm/compiz-fusion)を使っている場合、次のようにCompiz起動時にオプション⁠--loose-binding⁠を指定することで動作速度を改善できます。NVIDIAドライバはテクスチャのバインディング処理が遅いところがあるため、このオプションを指定することでCompizの動作が改善されることになります。

この結果、Xorgサーバが消費するCPU時間が短縮され、他の処理にCPUパワーをまわせるようになります。NVIDIAドライバを使っている場合はほとんどの場合で推奨できるオプションです。NVIDIAドライバを使っている場合には試してみてください。

compiz --loose-binding --replace

最近のNVIDIAグラフィックアクセラレータを使っているにもかかわらず、graphics/mesa-demosのglxgears(1)で芳しい結果が出力されなかったり、glxgears(1)を実行するとX.Orgごと落ちるといった場合、NVIDIAグラフィックアクセラレータに含まれているパワー管理機能が問題の原因になっている可能性があります。

その場合、次のように環境変数__GL_YIELDにNOTHINGを設定してcompizを起動してみてください。結果的にグラフィックパフォーマンスが向上します。古いグラフィックアクセラレータにはこの機能はないため指定しても変化は見られません。

env __GL_YIELD=NOTHING compiz --loose-binding --replace

最近のNVIDIAグラフィックアクセラレータでは、OpenGLのイメージセッティングを変更することで描画パフォーマンスを変更することもできます。x11/nvidia-settingsをインストールしnvidia-settings(1)を起動します。OpenGL SettingsのImage SettingsをHigh Quality、Quality、Performance、High Performanceの4つに設定できますので、動作速度を向上させたい場合はここHigh Performanceを設定します。

glxgears(1)で計測するとパフォーマンスが向上することが確認できます。古いグラフィックアクセラレータではここの設定を変更しても変化はありません。

 NVIDIA X Server Settingsを使ってOpenGLパフォーマンスレベルを変更
図 NVIDIA X Server Settingsを使ってOpenGLパフォーマンスレベルを変更

nvidia-settings(1)の設定内容は/.nvidia-settings-rcに保存されます。この結果ユーザごとに違う設定を保持することが可能です。

おすすめ記事

記事・ニュース一覧