モブ沢工房

プログラミングとかLinux関連(特にOSSのグラフィックツール関連)とかレトロゲームとか3Dプリンタやら日曜大工等、色々。

llvmpipeなソフトウエアレンダラーの高性能さに今更ビビる!っていうか多コアCPUの恩恵を初めて受けた!

いやぁ〜、ホント驚きました…

実はある事情でHDD上に全く同じ環境を作りカーネルをテストしているのですが、3.18から既にnvidiaのプロプラは動かないし、gk208だとnouveauもまだ対応できていないのか設定が悪いのか?まともに動かないようで、Intelを使わざるを得ない状況でした。

しかし本体の蓋を開けカードを抜き差しするのが非常にめんどい!ということで、じゃあGT640(gk208)でvesa使おう!vesaなら行けるはず!と思ってやってみました。

ググってでました[Ubuntu] vesaドライバを使うために - ままならない日記様の記事を参考に設定して起動すると、おお、動く。それもさほど遅くない。びっくりです。

しかし驚くのはまだ早かった。

どれだけglが遅いか楽しもうと思ってglxgearsを起動するとするする回っている。

おかしいな。と思ってglxinfoしてみるとGallium3DのllvmpipeでDirect renderingがYesになっていました。 うーむ、そういうものか。

そこでブラウザを起動してストリートビュー。コレなら遅いだろう。

と思ったら…

ん?本当にコレvesaドライバか?と思うぐらいスルスルと動きます。もちろんライトモードではないのは見ればわかるというか、ライトモードだと移動した時にピクセルカクカクでいい感じになりますが、3Dモードだと滑らかにブレンドされますよね。それでわかります。一応、マップの右下も見て確認しましたw

そこで確認のためとりあえず3Dということで、supertuxkartを起動してみました。これまたスルスル動きます。

まぁ今どきのグラから考えればというか昔のグラから考えても、それほど高度ではありませんが…オイラの常識的にはCPUのレンダリングとは思えない感じ。

ちなみに、Neverballはちょっと重い感じで画面がフリッカーしますのでゲームプレイは厳しい感じ。

うーむ。

そこでtopを起動してみました。

そこで見たのはCPU占有率が200近く行く凄い状況!ストリートビューは動かし続けないとすぐにCPU負荷が普通になってしまうので結構撮影が大変でしたw (今思えばスクリーンショットでよかったか…)

f:id:dothiko:20150109131742j:plain

f:id:dothiko:20150109131751j:plain

やっぱりllvmpipeは凄かった。

正直言ってnvidiaossドライバがnouveauではなく2Dしかないnvドライバだった頃にこれを体験したら、もうハードウェアアクセラレーション要らねとか思ったかも…

ああ、ようやく4コアの意味が出来た…っていうか出来てないんすけどねw 普段はnvidia-331使ってるしw

ちなみにnvidia-331上でのsupertuxkartの負荷はこちら

f:id:dothiko:20150109131817j:plain

たった20%とかw

やはりGPUの恩恵は大と考えるか、普通2コア以上は無意味と考えるか。

プログラムのコンパイル時もmake -j4とかでジョブ数増やしても、確かに速くなるのですが、結局待ち時間があるためあんまり恩恵は感じないのですね。 これが「nコアだとスクリプト言語で動かしてるみたいに即座にコンパイル完了して動く!」だったのなら、さすがに差を感じてしまいますけど。ccacheのほうが効果あるかな〜と…

追記:なんだかvesaだとサスペンドで画面戻ってこない感じなんで結局Intel HDにしました…当分Sanctum2はおあづけだなぁorz