コンポジット型ウィンドウマネージャ

歴史

コンポジット型ウィンドウシステムの初期の例としてコモドールのAmigaがある。アプリケーションは、まずその時点の表示領域以外のメモリ領域を要求し、それをビットマップとして使用する。するとAmigaのウィンドウシステムはハードウェアに備わっているblitterを使って一連の bit blit を行い、表示用メモリ内でアプリケーション群のビットマップを合成し、ボタンやスライダーなどを付与する。その間、アプリケーションは自身のビットマップを再描画する必要はない。
2001年3月24日、Mac OS X v10.0 は主要なOSで初めてソフトウェアベースの3D合成・視覚効果を実現した Quartz を搭載した。Mac OS X v10.2 と Quartz Extreme では、合成処理を専用のグラフィックス・ハードウェアに任せられるようになった。
サン・マイクロシステムズはSwingツールキット上のレイヤーとして野心的な3Dグラフィックスシステムを開発した。それが Project Looking Glass であり、2003年の LinuxWorld Expo で一般に公開された。アップルはサンを知的財産権の侵害で訴えると脅したが、Looking Glass の機能の一部は他のウィンドウマネージャに実装されている。その開発開始から数年後、企業向けのシステムが事業の主力だったサンは Project Looking Glass の開発をやめた。
マイクロソフトは2003年の Windows Hardware Engineering Conference で Project Longhorn の Desktop Window Manager を公開した。Longhorn の開発が遅延したため、マイクロソフトが3Dコンポジット型ウィンドウマネージャを実際にリリースしたのは、2007年1月の Windows Vista リリースのときだった。
X Window System では、コンポジット型ウィンドウマネージャを実現するにはいくつか再設計が必要で、徐々に対応していった。2004年8月、Metacity 2.8.4 がリリースされた。しかし、X向けのコンポジット型ウィンドウマネージャとして最初に注目されたのはXfwmで、2005年1月にリリースされた。2005年1月26日にはCompizがリリースされ、Linux上の初の完全アクセラレーションの3Dコンポジット型ウィンドウマネージャとなった。KDEのKwinもコンポジット型である。

各OSにおける合成（コンポジット）・3Dエフェクト

合成3Dエフェクトにより、ウィンドウには3次元デスクトップの視覚効果が与えられる。最近のコンポジット型ウィンドウマネージャは3Dハードウェア・アクセラレーションを利用している。コンポジット型ウィンドウマネージャは、OpenGLやDirect3Dのようなプログラミングインタフェースを通してグラフィックス・ハードウェアとやりとりする。
そのような技法を最初に採用したのは Mac OS X v10.2 で、Linux ではLuminocityのプロトタイプが最初だった。OpenGLを使っているウィンドウマネージャとしては Compiz、KWin、Quartz Compositor があり、Desktop Window Manager は DirectX 9 を使っている。OpenGLは完全にハードウェアでサポートされているわけではなく、OpenGLベースの合成の性能は今後もハードウェアの進化と共に向上することが見込まれる。

Microsoft Windows

Windows 2000 のウィンドウマネージャは合成を行っていたが、ピクセル単位のアルファブレンディングなどの変換は行っていなかった。アルファブレンディングを利用した商用アプリケーションは少なかった。オプション設定を通してだが、いくつかのフリーウェアがいち早くアルファブレンディングの実験を行った。コンポジット型となったのは Windows Vista の Desktop Window Manager からである。
Windows Vista と Windows 7 ではテーマを「Windows クラシック」にすることで Desktop Window Manager を使用停止できる。さらにオーバーレイミキサフィルタによるハードウェア・オーバーレイを行うときは Windows 自身が自動的にDWMを使用停止する。

Unix系

Unix系のシステムで広く使われている X Window System（のXサーバ）において、スタック型ウィンドウマネージャは X video extension のブルーバック機能を必要とした。合成は "Composite" extension として導入された。コンポジット型ウィンドウマネージャは、可能ならばこの拡張を通してハードウェア・アクセラレーションを利用する。
LinuxおよびUNIXで完全3Dアクセラレーションの合成を行うには、X11自体がハードウェア・アクセラレーションに対応するよう根本的な変更を行う必要があった。まず、XglなどのOpenGLを利用してX11を一部修正した実装が登場。AIGLXの登場によってXglなどを使わなくて済むようになり、標準のXサーバ上で3Dアクセラレーションの合成を行うウィンドウマネージャが可能となったが、ダイレクト・レンダリングも可能である。NVIDIA、インテル、ATIなどがAIGLXをサポートしたグラフィックス・カードを発売している。
Compiz では cube というエフェクトが導入されており、ユーザーは6つの仮想デスクトップを一度に見ることができる。各デスクトップは立方体の1つの面のテクスチャに変換され、立方体を自由に回転させることができる。Compizは様々な2Dと3Dの視覚効果を表示でき、ハードウェアに要求される性能は比較的低くてすむ。CompizはUbuntuに含まれており、サポートされているハードウェアやドライバが利用可能ならば自動的に使用できる。
Mutter (Metacity + Clutter) はMetacityの後継として、GNOMEのデフォルトのウィンドウマネージャとなった。GNOME 3.0 の GNOME Shell のコンポーネントとなっている。Mutter が使っているディスプレイ・エンジン Clutter は主なOSに移植されており、ネットブックやスマートフォンでも動作する。
KDEのウィンドウマネージャはバージョン4以降 KWin となっており、コンポジット型である。KWinはCompizと同等の機能を有している。

Java

Project Looking Glass は3Dレンダリングが可能なウィンドウマネージャで、クロスプラットフォームのJava言語をベースとしている。開発は停止しているが、GNU General Public License でリリースされた。Granular Linux の live CD ディストリビューションにはオプションのウィンドウマネージャとして Looking Glass が含まれている。
開発中止の後、その機能の一部（カバー式切換え、サムネイルによるライブ・プレビュー）は他のウィンドウマネージャで採用された。他にもウィンドウのタイリング、両面型のウィンドウフレーム、背景のパララックス（視差）スクロールなどのユニークな機能がある。

AmigaOS 4 と MorphOS

AmigaOSとMorphOSは3D対応ハードウェアでも動作可能だが、Amiga 1200 以降の古いAmigaコンピュータでも動作するよう設計されている。そのため、ウィンドウマネージャはほとんど平面的なレンダリングを行うが、レイヤーの合成、アルファブレンディング、マルチデスクトップ（スクリーン）などの機能がある。

ユーザビリティと視覚効果

コンポジット型の手法では、使いやすさと視覚効果を高めたユーザインタフェースのための様々な機能を容易に実装できる。

拡大表示

TrueTypeフォントや3Dアクセラレーション要素などのベクターイメージは、（通常エイリアシングによる）画質低下なしに拡大可能である。スクリーン・マグニファイヤーは画面の一部領域を拡大し、その部分のテキストを読みやすくするもので、眼精疲労を防ぎ、視力の悪い人のためであったり、単に画面が離れて多人数で見るときなどに役立つ。ズームエフェクトなども同様の機能を提供する。

ライブ・プレビュー

タスクバー上でマウスポインタを操作することでサムネイルをポップアップさせてウィンドウのプレビューを表示する。これによって、その時点で動作中のプログラム群を識別して管理できる。

ウィジェットエンジン

Mac OS では、ホットキーを押下することで時計・メモ帳・電卓などの「ウィジェット」（単一用途のアプレット）を表示できる。ウィジェットエンジンはよく使われるウィジェットを普段からアクセス可能にしておくことで、作業を効率化する。Mac OS 上ではDashboardプログラムがそれらを取り扱う。
Compizのウィジェット・レイヤーには最初は何もなく、ユーザーがアプリケーションをクリックすることで追加可能である。様々なウィジェットがあり、Screenlets、gDesklets、SuperKaramba などがある。
Windows Vista では ガジェットを Windows サイドバー（サイドバー・ガジェット）、Windows Live のスタートページ（Webガジェット）、携帯電話などの外部の表示機器 (Windows SideShow) に配置できる。サイドバーは Windows 7 では無くなったが、後継として Windows デスクトップ ガジェットが登場した。

遷移途中などの視覚効果

コンポジット型ウィンドウマネージャが開発される以前は、ウィンドウは突然現れ、突然消えるもので、デスクトップメタファーとしては不適切である。GUI要素が突然出現・消滅することは、経験の浅いユーザーにとっては混乱の元となる。変化の過程を視覚的に見せることで文脈を提供し、GUI要素の因果関係を理解する助けとなる。ウィンドウが突然消える代わりに、徐々にフェードアウトしたり、小さくなっていってタスクバーに収まるといった視覚効果がある。クリックされたプルダウンメニューはメニューバーから滑らかに延びてきて、その起点と目的を認識しやすくする。

ユーザインタフェース・ファサード

Metisseはユーザインタフェース・ファサードを実装しており、既存のグラフィカルなインタフェースをダイレクトマニピュレーション技法を使って簡単に設定変更・修正・再結合することができる。