今日はComparing Direct2D and GDIをずっと読んでいた。
読んでわかったことは、Windows7ではGDIもDirect2DもHWアクセラレーションが働くということだ。
WindowsXP以前のOSだとGDI描画でHWアクセラレーションが働くのはBitBltだけだったようだ(最初はそうじゃなかったみたいだけどだんだんとHWアクセラレーションの範囲が縮小されていった)。Vistaになると GDI描画が100%ソフトウェアエミュレーションになってしまい、Windows7ではまた復活しBitBltに加えて、AlphaBlend, TransparentBlt, StretchBlt もHWアクセラレーションの対象になった。ただしWDDM 1.1 ドライバでないとWindows7ではGDI HWアクセラレーションは働かない。
ちなみにグラボのドライバがWDDM1.1かどうかはdxdiagで確認できる。ちなみに私のPCはWDDM1.1だった!よかった。。
なんかNyaruruさんの日記にGDIアクセラレーションあたり記事があったような気がしたのでチェックしたらあった。全部読むとしますか。
http://d.hatena.ne.jp/NyaRuRu/searchdiary?word=WDDM%201.1
GDI描画がレガシーとなってしまったのでいつまでサポートされるかわからないけれど、Direct2Dで出来ない処理は相互運用機能を使ってGDIで描画してもよいような気がしてきた。あとは相互運用の機能を使った場合でもBitBltのHWアクセラレーションが働くのかをしらべないといけないな。