Desktop_Window_Manager
[Wikipedia|▼Menu]

Desktop Window Manager
Microsoft Windows コンポーネント
詳細
標準提供Windows VistaWindows 7Windows 8Windows 10Windows 11Windows Server 2008Windows Server 2008 R2Windows Home Server 2011Windows Server 2012Windows Server 2012 R2Windows Server 2016Windows Server 2019Windows Server 2022
サービス名UxSms
正式名称Desktop Window Manager
Session Manager
関連コンポーネント
DirectXGraphics Device InterfaceMedia Integration LayerWindows Aero

Desktop Window Manager(DWM、@media screen{.mw-parser-output .fix-domain{border-bottom:dashed 1px}}かつてはDesktop Compositing Engine、DCEとも[要出典])は、Windows Vista以降のMicrosoft Windowsオペレーティングシステムで用いられるデスクトップ描画システムである。Windows VistaおよびWindows 7ではWindows Aeroテーマ使用時などに限られていたが、Windows 8からはクラシックテーマが廃止され、常にDWMを使用するようになった。
DWMが有効になる条件

Windows VistaおよびWindows 7では、WindowsテーマとしてのWindows AeroまたはWindows Vistaスタンダード・Windows 7スタンダードの選択時に用いられる。Windows 8以降ではすべての場合においてDWMが使用される。

Windows VistaおよびWindows 7において、DWMの実行には少なくともDirect3D 9.0Exとシェーダーモデル 2.0に対応したグラフィックスハードウェア (GPU)、そしてWindows Display Driver Model (WDDM) 対応のデバイスドライバーが必要である。Windows 8以降では、WDDM準拠のグラフィックスドライバーが存在しない場合、ソフトウェア (Microsoft Basic Display Adapter) でDWMの処理が行われる[1]

DWMはWindows Vista Starter エディションには搭載されていない。Windows Vista Home Basic エディションには DWM が搭載されているが、透明なガラス効果やフリップ3Dなど一部の機能は無効にされている。また、Windows Server 2008およびServer 2008 R2でも、対応GPUを用いて、「デスクトップ エクスペリエンス」機能を有効にすることでDWMが使用可能となる[2]
アーキテクチャ.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この節は更新が必要とされています。
この節には古い情報が掲載されています。編集の際に新しい情報を記事に反映
させてください。反映後、このタグは除去してください。(2016年6月)

Windows VistaつまりWDDM 1.0世代のDWMの下では、アプリケーションソフトウェア(以下アプリケーション)の描画出力は直接ビデオメモリ(VRAM)に送られず、システム メモリのオフスクリーンバッファに保持される。そして、各アプリケーションのウィンドウの内容をDWMが最終的に合成して出力する。なお、macOSQuartz Compositorも同様の仕組みを用いている。DWMがすべてのアプリケーションの描画内容を保持するため、透明効果のような複数のアプリケーション ウィンドウに跨る効果が容易に適用できる。DWMではDirect3D 9.0Exを通してGPUを利用し、オフスクリーンバッファから画面への描画に用いる過程にCPUを用いない仕組みとなっている。ただし、アプリケーションがオフスクリーンバッファへ描画する段階では、Graphics Device Interface(GDI)のようなDWMと密な連携を持たない描画技術を用いる場合、オフスクリーンバッファへCPUを用いてビットマップとして描画することになる。Windows Presentation Foundation(WPF)のようなDWM対応の描画技術では、DWM互換の形式の内部データを直接生成する。いずれにせよ、ウィンドウの内容はDirect3Dのテクスチャへ変換される。

Windows 7つまりWDDM 1.1ではDWMのメモリ管理機構が改良され、各アプリケーションのウィンドウ描画結果のコピーをシステムメモリに保持しなくなり、ワーキングメモリの消費を低減させた[3][4]。また、Windows 7のデスクトップ描画にはDirect3D 10.1 APIが使用されている[5]

デスクトップは全画面のDirect3Dサーフェイスとなっている。2次元の矩形を表現する2つの三角形のメッシュからなっており、デスクトップの画面全体を表すテクスチャ(画像)がそこに投影(テクスチャマッピング)される。ウィンドウの遷移(アニメーション)は、シェーダープログラムでメッシュの変形として実装されている[6]。Windows Vistaでは、この遷移はDWM内蔵のもの(組み込みのシェーダー)しか利用できない。マイクロソフトの開発者であるGreg Schechterは、将来的にプラグイン方式で独自の効果を適用できるようにするかもしれないと示唆している[7]。DWMはプライマリのデスクトップ オブジェクトのみを3Dサーフェイスとして扱う。ユーザーアカウント制御(UAC)のセキュア デスクトップを含む他のデスクトップ オブジェクトでは使用できない[8]

すべてのアプリケーションの描画がオフスクリーンバッファへ行われるようになった結果、他のアプリケーションが描画した内容を取り込めるようになった。オフスクリーンバッファはアプリケーションが絶えず更新するため、取り込んだ描画内容も動的に変化し続ける。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:45 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef