09/07/03 13:34:03 rLLaMP+1
■Windowsにおける2Dとは?
GDI/GDI+ Windowsの基本的なGUI機能を提供する。GDI+ではjpeg等圧縮画像の伸張なんかも。
DirectDraw GDIでは実現できない、より直接的な描画機能を提供する。タイミング制御も可能。
Direct3D 3D描画機能を用いてより高度な2D描画を行う。DirectDrawと同じ効果をより効率的に実現できる。
Direct2D 複雑なD3DAPIを簡素化し、2D描画をより簡単にプログラミングできるようにする。
DirectWirte D3Dを用いてより簡単に高速で高度なテキスト描画を提供する。
DirectShow DirectDraw(Direct3D)やDirectSoundを用いて動画再生を提供する。
■ハードウェアアクセラレーションがあるのは?
ハードウェアアクセラレーションは、GDI、DirectDraw、D3D8、D3D9~D3D9.0c、D3D10なんかが存在する。
■Windows7
GDI、DirectDraw、D3D8(LegacyD3D)、D3D9/D3D9ExはVistaと同じ。
ただし、描画サーフェイスは見直されてメインメモリではなく、利用可能な場合ビデオメモリが直接利用される。
D3D10は仮想化され、D3D10Level10とD3D10Level9が新設された。
ハードウェアがD3D9までしかない場合、D3D10Level9を経由し、制限付だがDirectX10が利用できる。
Direct2D、DirectWriteがDirect3D10の上に実装されたため、D3D9以上のハードウェアがあれば高速処理される。
■WindowsVista
GDI/GDI+とDirectDraw、D3D8はWDDMが全て吸収し、Direct3Dに変換され描画される。
特にGDIは一度メインメモリ上のサーフェイスにCPUで描画を行い、完成イメージをD3D9でビデオに反映する。
メインメモリとCPUに若干の負担をかけるが、D3D9のハードウェアがあればそれなりに高速処理される。
■WindowsXPまで
GDI/GDI+、DirectDraw、D3D8、D3D9はすべて個別のドライバで処理される。
ハードウェアが対応しない場合、ドライバでエミュレーションを行うか、それも無い場合はVESA標準で描画される。
(つづく)