« ファイルの差し替え | メイン | メーリングリストのログDL »

August 10, 2004

高速化への実験

今までのことを整理していてふと気付く。
DirectDraw Surfaceを使えばさらに高速化できるのではないかと。
とは言っても、直接使うことは出来ない。
吉里吉里の仕様上、最終的にはメモリ上にイメージがなくてはならない。
しかし、これは最終的にメモリ上にあれば良いと言うことでもある。
つまり、DirectShowにDirectDraw Surfaceへレンダリングさせ、それを再びメモリへコピーしてこようという作戦だ。
明らかに非効率的な方法のように感じるが、これによって少しCPU負荷が下がる可能性がある。

最近のグラフィックスカードはMPEG再生支援機能という物がだいたい搭載されている。
MPEGのデコードは前フレームとの差分や逆離散コサイン変換などがあり結構重い処理だ。
そして、MPEG再生支援機能とは動き補償やIDCTなどをさすようだ。
当然、MPEGムービーは入力データ量よりも出力データ量のほうが遙かに大きくなる。
あくまで推測だが、、MPEG再生支援機能によって、この少ないデータ量をグラフィックスカードへ送り、グラフィックスカード内で伸張されるのではないかと考えられる。(このようになっていればかなり効率が良い)
つまり、CPUの処理量とメモリコピーの量がかなり軽減されるわけだ。(推測だけど)
しかし、この後でVRAMからメインメモリへのコピーを行わなければならない。
当然これは負荷がかかる。しかも、その後またメインメモリからVRAMへのコピーが発生する。
結局のところハードウェアによってなくなった分とVRAMからメインメモリへのコピーでどちらが重いかと言うことになる。

うーん、微妙ですね。
たいして速くならない気もする。
まあ、興味があるのでちょっとやってみようって感じですね。

投稿者 Takenori : August 10, 2004 08:22 AM

Trackback Pings

このエントリーのトラックバックURL:
http://blog.kaede-software.com/mt-tb.cgi/80

コメント

Total : Today : Yesterday :