最近、Adobe Flash Player の暴走がすごく、動画を観ているときならまぁ仕方ないかと思いますが、Flash の広告を踏んでも暴走するようになってきたので、暴走しないうにしてみました。
まず、環境としては、
- Apple MacBook Air 13 インチ
OS X Lion 10.7.4
CPU Intel Core i7(Sandy Bridge / 2コア4スレッド) - Google Chrome 20.0.1132.47
Adobe Flash Player 11,3,300,257
となっています。
Chrome で Flash が暴走したときのアクティビティモニタは、Google Chrome Renderer の CPU 使用率が90%と近くになっています。MacBook Air 13 インチに積んでいる CPU は、Core i7 で2コア4スレッドなので、まだまだ余裕がありそうですが、実際にはファンがフル回転して、本体が熱い状態になります。ずっとこの状態が続くので、Chrome の該当タブを閉じるか、Chrome を再起動すれば問題はありません。でも、頻繁におきるので、毎回そんなことをしないようにしたいと思います。
Adobe Flash Player が埋め込まれているところで、「設定」をクリックします。
ディスプレイタブの「ハードウェアアクセラレーションを有効化」チェックボックスを外します。すべて CPU で処理するようにします。
アクティビティモニタで確認すると、大きな負荷は Shckwave Flash (Chrome Plug-in Host) と Google Chrome Renderer の2つに別れて、合計のCPU負荷も60%程度になっています。このとき、ファンも回転して、本体も熱を持ちますが、暴走している感じは全くなく、ちゃんと処理できているという感じです。
ハードウェアアクセラレーションは、GPU でデコード処理が行いますが、どうも Mac 版の Adobe Flash Player は、Core i7 (Sandy Bridge) 内蔵 GPU との相性が悪いようです。あとは、Chrome だと、Flash Block を入れて Flash 自体の使うところを制限してしまってもいいかと思います。