#モリトーク

ChromeとFlashとGPU

(12/08/21)

 既報の通り「Google Chrome」のv21以降には、“Pepper Plugin API(以下、Pepper)”と呼ばれる新しいプラグインの仕組みが、それに対応する「Adobe Flash Player」とともに実装された。これにより、Flashコンテンツの描画は速度だけでなく、動作の安定性や安全性も向上するという。「Firefox」と「Adobe Flash Player」の相性問題も記憶に新しいだけに、このニュースはとても興味深い。

 では、どれくらい快適になったのだろうか。Windows 7上の「Google Chrome」でYouTubeの1080p動画を再生してみると、GPUの使用率が以前とはまるで異なることに気付く。あくまで筆者環境の話になるが、旧バージョンの「Google Chrome」でYouTubeの1080p動画を視聴した場合、GPU使用率は4%程度にしかならず、GPUアクセラレーションはほとんど機能していなかった。ところが最新版の「Google Chrome」では、GPU使用率が30%前後を推移し、それに反比例してCPU使用率は下がる結果になっており、そのほかのFlashコンテンツでも同様の傾向が見られた。なお、モニタリングには「HWiNFO64」を利用している。

 v10.1以降の「Adobe Flash Player」では、GPUが動画などのレンダリング処理をCPUに代わって担当するようになっているが、環境の違いによってその効き方がまちまちだったので、Pepper版の「Adobe Flash Player」が環境の影響を受けないというのは確かなようだ。ただし、最近のCPUであればGPUアクセラレーションが働かなくても、動画を含めたFlashコンテンツがコマ落ちすることもほとんどないので、結果的に速度面での大きな違いはあまりないが、CPUパワーを要する作業が並行している場合には効果がありそうだ。

左がPepper版、右が従来の「Adobe Flash Player」で1080p動画を視聴したときの状態左がPepper版、右が従来の「Adobe Flash Player」で1080p動画を視聴したときの状態左がPepper版、右が従来の「Adobe Flash Player」で1080p動画を視聴したときの状態

 Flashコンテンツの描画が高速化すれば、もちろん何かしらの犠牲が生じる。上述したように、Flashコンテンツの描画にはGPUが活用されるので、「Google Chrome」でFlashコンテンツを表示すれば、メインメモリだけでなくGPUのメモリも消費する。これもあくまで筆者環境の例になるが、YouTubeの動画を20ページくらい同時に開いてみたところ、約700MBものGPUメモリを消費した。もしこの状態で3Dゲームをプレイしたなら、パフォーマンスが低下するのは明らかだろう。逆に言えば、メインメモリとGPUメモリを豊富に搭載する環境なら、マルチプロセスの「Google Chrome」が益々活きることになる。

 ほかにも、「Google Chrome」がPepper版の「Adobe Flash Player」を採用した影響で、その環境下では“ニコニコ動画”を正常に視聴できない場合があると報告されている。ニコニコ動画の管理者によると、「Google Chrome」は推奨環境ではないため、ほかのWebブラウザーを使用してほしいとのことだ。

「Google Chrome」のプラグイン設定「Google Chrome」のプラグイン設定

 ここで、トラブルを回避するための裏技を紹介しておこう。Pepper版の「Adobe Flash Player」を搭載する「Google Chrome」には、これまで使ってきた“NPAPI(Netscape Plugin API)”版の「Adobe Flash Player」も引き続き内蔵されている。標準の設定ではPepper版が優先的に使用される仕組みになっており、Pepper版を無効化すると、自動的にNPAPI版を使用するようになる。つまり、「Adobe Flash Player」を旧仕様へ切り替えられるため、以前の状態に戻せるのだ。本記事を執筆するあたりPepper版とNPAPI版の動作を比較する際にも、この方法を利用した。

 Pepper版を無効化するには、まずアドレスバーに“chrome://plugins/”と入力する。あとは、画面右上の[詳細]ボタンを押すと、3種類のFlashプラグインが並んで表示されるので、そのなかから一番上のPepper版だけを選んで[無効にする]をクリックすればよい。ただし、NPAPI版も脆弱性が発見されたときなどにアップデートされているものの、「Google Chrome」ではPepper版がメインの「Adobe Flash Player」であることには変わりないので、とくにトラブルがないならPepper版を使用すべきだろう。

(中井 浩晶)