ブログパーツマイリスト

無料ブログはココログ

« CorsairがPhenom II 1090Tでメモリクロック2287MHz達成 | トップページ | 官能に訴えるPCケース »

2010年6月14日 (月)

WindowsのグラフィックAPIモデル

Fusionで課題となる、PCI-Expressを使わないグラフィックに際し、WindowsのグラフィックのAPIを整理する。
まず、WindowsXPと、Windows Vista、Windowos7では大きく異なる。

XP
以下の図のように、WindowsNT以来のGDI、Direct3D、OpenGLが並列して使われる。
Ic76565
カーネル側も、GDC、OpenGLと、DirectXは分かれている。
つまり、GDIを使った2Dと、DirectXを使った3Dは、異なる機能であり、描画も異なる。
※OpenGLは、GDIの枠組みであり、DCではなく、RCを使う。
Vista&7
Vista以降、DirectXのランタイムのレイヤーが加わり、全てDirectXを介して、WDDMに送られる。
Ic15459
つまり、Windowsの画面は、2Dも3Dも、テキストも立体も、全てDirectXが描画する。
また、WDDMは、ユーザとカーネルに別れており、APIのコンストラクトをGPUの命令に変換する複雑な処理はユーザモードで行い、カーネルはGPUの命令を受け取るだけなので、安定性が高い。
※簡単に言うと、NT3.51の構造に戻った。
※WDDMでも、OpenGLとOpenCLのアクセラレーションには、ビデオカードのベンダーが作ったICDを使う。
Desktop Window Manager
APIのモデルであるWDDMではなく、WDDMを使った、画面描画の方法である。
まず、デスクトップは、Direct3Dで描画される。いわゆるAero。
各アプリケーションは、直接、ビデオカードのVRAMに描画するのではなく、メインメモリのオフスクリーンバッファに描画する。
また、各アプリケーション、各Windowごとに、スクリーンバッファを持つ。
それらが、GPUに渡され、合成された画面が描画される。

各Windowの画面が変わる度、常にオフスクリーンバッファが更新されるので、各Windowがメインメモリにアクセスする。
これが、Vistaが遅いと言われた、原因の一つだ。
ただ、速いメインメモリと高性能なGPUがあれば、何の問題も無い。
Fusionの課題
Fusionの課題は、カーネルモードである。PCI-Expressを介さず、GPUがメインメモリにアクセスする道筋を作らなければならない。

あとは次回

« CorsairがPhenom II 1090Tでメモリクロック2287MHz達成 | トップページ | 官能に訴えるPCケース »

AMD」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/217868/48631290

この記事へのトラックバック一覧です: WindowsのグラフィックAPIモデル:

« CorsairがPhenom II 1090Tでメモリクロック2287MHz達成 | トップページ | 官能に訴えるPCケース »