「Quartz Compositor」の版間の差分

削除された内容 追加された内容
m ボット: 言語間リンク 7 件をウィキデータ上の (d:Q1591372 に転記)
CharHigh (会話 | 投稿記録)
m編集の要約なし
1行目:
'''Quartz Compositor''' [[OS X|Mac OS X]] の[[ウィンドウシステム]]。他の[[Quartz]]フレームワークやQuartzファミリの[[レンダラー]]が生成し[[ラスタライズ]]したグラフィックスを管理し表示する役割を担う。
 
== 概要 ==
Quartz Compositor は、生成された[[ビットマップ画像]]の[[ビデオカード]]のメモリへの配置を単独で管理する。[[Quartz 2D]]、[[OpenGL]]、[[Core Image]]、[[QuickTime]] などが出力したビットマップは一旦、特定のメモリ位置、すなわち「バッキングストア」に置かれる。Compositor はバッキングストアからデータを読み込み、それらから画面全体のイメージを組み立て、ビデオカードの[[フレームバッファ]]にそのイメージを書き込む。Quartz Compositor は[[ラスタ形式]]のデータだけを受け取り、フレームバッファに直接アクセスする唯一のプロセスとして動作する<ref name="ArsTechnicaTiger">{{cite web | title=ArsTechnica - Mac OS X 10.4 Tiger - Quartz | url= http://arstechnica.com/reviews/os/macosx-10.4.ars/13 | accessdate=2007-02-12}}</ref>。
 
個々のウィンドウの管理においては、Quartz Compositor はそのウィンドウの[[ビットマップ画像]]と位置情報をレンダラーから受け取る。レンダラーの選択はアプリケーションに一任されているが、通常は Quartz 2D を使用する。Quartz Compositor は「視覚ミキシングボード」として動作し、そのウィンドウを画面全体のシーンに追加する。
 
Quartz Compositor はウィンドウマネージャのような役割も果たし、キー押下やマウスクリックといったイベントを受け取る[[メッセージキュー|イベントキュー]]も持っている。Quartz Compositor はそのキューからイベントを取出し、そのイベントが発生したウィンドウに対応するプロセスを特定し、そのプロセスにイベントを渡す<ref>{{cite web | title=Apple - Developer - Mac OS X Technology Overview: Graphics and Multimedia Technologies | url= http://developer.apple.com/documentation/MacOSX/Conceptual/OSX_Technology_Overview/GraphicsTechnologies/GraphicsTechnologies.html#//apple_ref/doc/uid/TP40001067-CH273-SW1 | accessdate=2009-07-05}}</ref>。
 
== Quartz Extreme ==
[[Mac OS X v10.2]] '''Quartz Extreme''' が導入された。これは、Quartz Compositor の[[Graphics Processing Unit|GPU]]アクセラレーション機能である。Quartz Extreme を使うと、シーンの合成に[[CPU]]のサイクルを全く使わなくなる。Quartz Compositor は、描画済みのバッキングストアをOpenGLのテクスチャマップまたはサーフェイスにカプセル化し、GPUを使って動作する。すると、GPUはそのサーフェイスやマップを合成して最終的イメージを作り、自身のフレームバッファにそれを供給する。
 
Quartz Extreme はOpenGLコマンドだけを使い、[[Accelerated Graphics Port|AGP]] 2X かそれ以上のバス(AGP 4X、8X、[[PCI Express]])に接続されたグラフィックスカードを必要とする。また、レンダラー(例えば Quartz 2D)にはサイズ制限がないため、グラフィックスカードは任意の大きさのテクスチャやマップをサポートしている必要がある<ref name="ArsTechnicaTiger" />。以下の[[ビデオカード|グラフィックスカード]]を搭載した[[Macintosh|Mac]]システムでは自動的に有効となる<ref>{{cite web | title=Apple - Mac OS X 10.4: Requirements for Quartz Extreme and Core Image graphics | url= http://docs.info.apple.com/article.html?artnum=301347 | accessdate=2007-02-12}}</ref>。
 
* [[RADEON|AMD (ATI) Radeon]]、AGP-ベース、 VRAM 16MB以上
17行目:
 
== QuartzGL ==
'''QuartzGL'''(OS X 10.4 Tiger では Quartz 2D Extreme)は、Quartz 2D API 用GPUアクセラレーション機能である。デフォルトでは OS X Tiger でも Leopard でも有効になっていない。しかし、OS X デベロッパーツールにある "quartz debug" アプリケーションを使うと、どちらのバージョンでも有効にできる。ただし、アップルは QuartzGL を正式サポートしていないので、quartz debug ユーティリティを終了させると同時に無効となる。[[ワークアラウンド]]として quartz debug ユーティリティを強制終了させると QuartzGL を有効のままにしておくことも可能である。
 
Leopard では、アプリケーションの info.plist QuartzGLEnabled というエントリを追加でき、アプリケーション単位の有効化が可能である。ただし、その前にシステム全体で有効にしておかないと、アプリケーション単位の "QuartzGLEnabled" も効果がない。
 
[[Core Image]] をサポートしているグラフィックスカードならQuartzGLもサポートできる。
 
== 脚注・出典 ==