コンポジット型
ウィンドウマネージャは、コンピューターの画面上でグラフィカルユーザーインターフェース(GUI)を管理するソフトウェアの一種です。従来の
ウィンドウマネージャとは異なり、各アプリケーションのウィンドウを直接画面に描画するのではなく、一度
バッファに描画してから、それらを合成(compositing)して最終的な画面を作成します。
この合成処理により、ウィンドウに様々な視覚効果を加えることが可能になり、ブレンディングやフェード、拡大縮小、回転、3Dアニメーションなどの高度な表現が実現できます。また、技術的にはダブル
バッファリングが用いられるため、画面の更新時にちらつきが発生しないという利点もあります。
従来のスタック型
ウィンドウマネージャでは、ウィンドウの再描画を各アプリケーションに任せていたため、応答しないアプリケーションがあると画面の描画が停止したり、表示が乱れるといった問題がありました。
コンポジット型
ウィンドウマネージャでは、ウィンドウの再描画をマネージャ自身が行うため、アプリケーションが応答しなくても、最後に描画された状態を表示し続けることができます。これにより、システム全体の安定性が向上し、ユーザーエクスペリエンスが向上します。
歴史
コンポジット型ウィンドウシステムの初期の例としては、コモドールの
Amigaがあります。
Amigaでは、アプリケーションが描画したビットマップをハードウェアを使って合成することで、ウィンドウを表現していました。
2001年には、
Mac OS X v10.0がソフトウェアベースの3D合成を実現する
Quartzを搭載しました。その後、
サン・マイクロシステムズがProject Looking Glassという3Dグラフィックスシステムを開発しましたが、後に開発を中止しました。
マイクロソフトは2007年にWindows Vistaで
Desktop Window Managerをリリースし、3Dコンポジット型
ウィンドウマネージャを導入しました。
X Window Systemでは、
Compizや
KWinなどのコンポジット型
ウィンドウマネージャが登場し、Linux
デスクトップ環境の進化に貢献しました。
各OSにおける実装
Windows Vista以降では、
Desktop Window Managerがコンポジット型
ウィンドウマネージャとして採用されています。これにより、ウィンドウの透明化やアニメーションなどの視覚効果が実現しています。Windows 7ではテーマを「Windows クラシック」にすることで
Desktop Window Managerを停止できます。
macOS
macOSでは、
Quartz Compositorがコンポジット型
ウィンドウマネージャとして機能し、スムーズなアニメーションや視覚効果を提供しています。
Unix系のシステムでは、
X Window System上で
Compiz、
KWin、
Mutterなどのコンポジット型
ウィンドウマネージャが利用可能です。これらのマネージャは、
OpenGLなどのグラフィックスAPIを使用して、ハードウェアアクセラレーションによる高速な描画を実現しています。
視覚効果とユーザビリティ
コンポジット型
ウィンドウマネージャは、単にウィンドウを描画するだけでなく、様々な視覚効果やユーザビリティ向上機能を提供します。
拡大表示
スクリーンマグニファイアによる拡大表示機能は、画面の一部を拡大してテキストなどを読みやすくし、視認性を向上させます。
ライブ・プレビュー
タスクバー上の
サムネイルによるウィンドウのプレビュー表示機能は、ウィンドウを切り替える前に内容を確認できるため、作業効率の向上に貢献します。
ウィンドウ切換え
複数のウィンドウを効率的に切り替えるための機能として、フリップ式切換え、カバー式切換え、リング式切換えなどが提供されています。これらの機能は、ウィンドウを視覚的に整理し、目的のウィンドウを素早く選択できるようにします。
グループ化
ウィンドウをグループ化する機能により、複数の関連するウィンドウをまとめて管理できます。また、グループ内で表示するウィンドウを切り替える際にアニメーション効果が用いられることで、視覚的な分かりやすさが向上します。
Exposé(macOS)や
[Mission Control]は、開いている全てのウィンドウを一覧表示し、ウィンドウの管理を容易にする機能です。
ウィジェットエンジンは、時計やメモ帳などの小さなアプリケーションをデスクトップ上に表示し、手軽に利用できるようにします。Mac OSの
Dashboardや
Compizのウィジェットレイヤーなどが例として挙げられます。
遷移効果
ウィンドウが突然現れたり消えたりするのではなく、フェードイン・フェードアウトや縮小アニメーションなどの遷移効果を加えることで、ユーザーがGUIの要素の変化を理解しやすくします。
ユーザインタフェース・ファサード
Metisseは、ダイレクトマニピュレーション技法を用いて、GUIの変更や修正を容易にするユーザインタフェース・ファサードを実装しています。
Desktop Window Manager (Windows)
Quartz Compositor (macOS)
Compiz
KWin
Mutter
Xfwm
xcompmgr
Ecomorph
Cairo Compmgr
Metisse
スタンドアロンなコンポジットマネージャ
xcompmgr
Compton
Cairo Compmgr
Unagi
MCompositor
Windows Vista, Windows 7, Windows Server 2008 (オプション)
Mac OS X v10.0 以降
GNU/Linux (X.Org/AIGLXまたはXgl)
FreeBSD
OpenSolaris
AmigaOS 4
MorphOS 2.0 以降
まとめ
コンポジット型
ウィンドウマネージャは、グラフィカルユーザーインターフェースをより美しく、使いやすくするための重要な要素です。3Dグラフィックス技術の進歩とともに、その機能はさらに進化し続けるでしょう。