スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



にほんブログ村 その他趣味ブログ 趣味の工作へ にほんブログ村 その他趣味ブログ ビデオ撮影・編集へ

OpenGLとDirectXについて考えてみる

動画編集ソフトを作るにあたって一番大切なのは、映像を扱うのでグラフィックの処理です。

画面にグラフィックを描画するには様々な方法があります。

□PictureBox

一番簡単なのがペイントの画面などに使われているPictureBox、写真を表示して移動させたり、拡大縮小したり出来ます。
しかし、描画速度が遅いので静止画を連続で表示してアニメーションをさせようとすると、カクカクしたりCPUに負荷がかかったりしてしまいます。
これはPictureBoxの処理が様々なライブラリを経由して行われているためです。


□OpenGL

より高速化をするには処理をよりハードウェア(CPUやGPU)に近づける必要があります。
そこで使えるのがOpenGL、グラフィックを扱うのに特化したライブラリで3Dも扱えます。
ハードウェアに近いので記述が細かくなりやや難しいですが、拡張性があり様々なことができます。
また、クロスプラットフォーム(様々なOSで動作する)なので、グラフィックで現在最もメジャーなライブラリで、携帯電話や家電にも使われています。たしかPS3にも使われていたと思います。
AfterEffectsやNiveのような動画編集ソフトにも使われています。
書籍や情報が豊富なので私もこれを使おうと思っています。

□DirectX

もう1つ忘れてはいけないのがDirectXです。
これもOpenGL同様ハードウェアに近くグラフィックに特化していますが、Microsoftが作っているWindows専用のライブラリです。
Windowsの場合はOpenGLよりも処理が高速という利点があります。
実際に私はまだ試していませんが、Microsoftが強く推奨しているところからみると、そう考えるのが妥当でしょう。
WindowsMovieMakerもDirectXを使っていますが、わりと軽快に動く印象を受けます。

パソコン以外にXbox 360などに使われているそうです。

□考察
OpenGLは拡張性が高く、情報も多いですし、AfterEffectsにも採用されてることから考えると、とりあえずそっちを使った方がよさそうです。
ぶっちゃけ速度の問題はグラフィックボートとの愛称もあるので、そこで比較しても仕方がない気がします。
実際に検証してみて明らかに動作が重ければDirectXにしようと思います。
つまり実際に触ってみないとなんともいえませんねーw

□WPF
グラフィック関連でもう1つ。
最近はWindowsVistaや7の登場によるGUIの進歩に従い、GPU(グラフィック専用のCPU)の性能が向上しています。
そこでアプリケーションのボタンのようなコントロールもGPUで描画してしまおうと登場したのが、WPF(Windows Presentation Foundation)です。
WPFを使うと7のガジェットやMediaPlayerのようなお洒落なアプリケーションを作れます。

Windows Media Player 

ただ、GPUを使うので少し古いPCには向かないようです。あと少し難しくてとっつき難いのでまだまだメジャーにはなっていません。
Expression Blendと一緒に使うとかなり色々なことができそうです。

んで、これの上でOpenGLを使ったらどうなるのかなーって思いました。
GPUをバリバリに活用したアプリケーションになりますよねw
GPUがどれだけ使えるものなのか分かりませんが、実際にWPFとフォームアプリケーションでソフトを作って性能比較試験をしてみようと思っています。

とりあえずGPUが得意な処理はGPUに、CPUが得意な処理はCPUに、上手く回して高速なソフトを作りたいです。




にほんブログ村 その他趣味ブログ 趣味の工作へ にほんブログ村 その他趣味ブログ ビデオ撮影・編集へ

コメントの投稿

非公開コメント

プロフィール

回路師

Author:回路師
趣味がロボットと動画製作です。
便利な機械やあほなマシンの動画を投稿しています.

最新記事
最新コメント
カテゴリ
電子工作キット








月別アーカイブ
書籍






Twitter
リンク
RSSリンクの表示
ソーシャル

検索フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。