AG-ムービーカッターを調整
今は、Windows用AmuseGraphicsの開発フェーズで、BootCampでWindows10をインストールしてあるMBP 15インチ 2016モデルで最終評価中なのだが、今日は、AGMPlayerとAG-ムービーカッターの性能を見てみた。その結果、AG-ムービーカッターは遅かったので調整した。
MBP 15インチ 2016モデル上で、現行のAGMPlayerを使ってAGM形式動画をAGM形式動画に再エンコードすると、CPU使用率は90%くらいになっている。
で、100%まで行かない理由は、現行版では、エンコード処理中に順序処理になっている個所がまだまだ多かったからなのだが、次バージョンでは、マルチコアCPUへの最適化という事で、各種処理の並列度を更に上げたので、前述のCPU使用率は100%になっている。
と、言うことで、AGMPlayerについては、前述の様に、今回のAGMエンコーダーの改良の効果が普通に出ているのだが、AG-ムービーカッターについても同様のエンコードテストを行ってみた所、CPU使用率が30%くらいしかなかった。
なので、調べてみた所、現行版でも、その程度のCPU使用率しか出ていないので、真面目にチェックしてみた所、AG-ムービーカッターの場合、出力映像の加工を行う処理があって、その加工が必要無い場合にも、ミューテックスによるブロックを行っていた訳だ。
その結果、様々な処理が並列動作していても、そのミューテックスによるブロックによって処理が止められる格好になっていたので、実質的な並列度が上がらなくなっていた訳だ。
と、言うことなので、今日は出力映像の加工を行う必要がない場合には、前述のミューテックスブロックが発生しない格好に処理形態を変更する事で、AG-ムービーカッターについても、AGMPlayerと同等以上のエンコード性能が出るようにした。
なので、今の時点では、AG-ムービーカッターでのエンコードの方がAGMPlayerのそれよりも若干高速になったのだが、このエンコード速度は、MBPのBootCamp上のWindows10でのハードウェア支援付きMP4エンコードよりも2倍近く高速だ。
具体的には、15分の30fpsフルHD動画をAGM3-DCTでエンコードすると2分15秒程度で終わるのだが、MP4のハードウェアエンコードを行わせると5分くらいかかる訳だ。
もっとも、MP4エンコードについても、ハードウェアではなく、ソフトウェアエンコードに切り替えると、3分丁度くらいでエンコードは完了する。
なので、AGMエンコーダーが極めて高速、というよりは、MBP 15インチ 2016モデルのBootCampによるWindows10環境では、MP4のハードウェアエンコーダーはあまり高速でもない、という感じになるのかもしれない。
ちなみに、BootCampのWindows8.1で動作させているMac mini Late2014上で、AGMPlayerを使って同じAGM動画をMP4に再エンコードしてみた所、約4分でエンコード処理は完了した。
更に、macOS版AGMPlayerを使って、MBP 15インチ 2016モデルのmacOS上で同じAGM動画をMP4に再エンコードしてみると、約2分30秒で終了した。
なので、MBP 15インチ 2016モデルのBootCampのWindows10上でのMP4ハードウェアエンコードは、やはり、遅い、という事になるのかもしれないのだが、15分の動画を5分でエンコードできるのであれば、普通は十分に高速、という事にはなるかもしれない。
更に、ソフトエンコードを行った場合、2分もするとファンは全回転状態になるのだが、ハードウェアエンコードの場合には、CPU負荷は低いので、ファンはそれほど回らないというメリットもある。
と、言うことなので、高速なマルチコアCPUが搭載された環境では、MP4のハードウェアエンコードは、ソフトウェアエンコードよりも遅くなる場合もある感じなのだが、CPU負荷をあまり使いたくない場合には、ハードウェアエンコードにもメリットはある筈だ。
逆に、GPUを真面目に使っている環境では、下手にハードウェアエンコードを使うよりは、ソフトエンコードを行っている方が幸せになれるかもしれない。
« HiDPI対応の品質を向上 | トップページ | まあまあ良い感じだが »
トラックバック
この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/66146259
この記事へのトラックバック一覧です: AG-ムービーカッターを調整: