IT用語集 › プログラミング › _NET_WM_BYPASS_COMPOSITOR

_NET_WM_BYPASS_COMPOSITOR

プログラミング Svenska → 更新: 2026-10-23

フルスクリーンのゲームが、コンポジタにどいてもらうよう頼むためのEWMHプロパティ。余計なコピーと余計なvsyncなしで、フレームが画面へ直行する。

コンポジット型ウィンドウマネージャはすべてのウィンドウを個別のバッファに描き、それから画面を組み立てる。影や透過のためにはそれが肝心だが、画面全体を覆うゲームにとっては純粋なオーバーヘッドだ。コピーが1回増え、1フレーム分遅れ、コンポジタの周期に縛られる。そこでEWMH 1.5は、クライアントがトップレベルウィンドウに設定する整数 _NET_WM_BYPASS_COMPOSITOR を導入した。0は意見なし、1はコンポジットされたくない、2はフルスクリーンでも明示的にコンポジットを求める、という意味だ。

ヒントを受けたコンポジタは、そのウィンドウをunredirectする。つまりComposite拡張のバッファリングから外し、直接描画させる。SDL 2、mpv、Wineはフルスクリーン時にこのプロパティを設定する。KWinにはアプリケーションがコンポジットを止めてよいかの設定があり、picomには unredir-if-possible があり、Mutterはヒントと無関係に自分の判断でフルスクリーンウィンドウをunredirectする。欠点は、コンポジタが切れたり入ったりするときのおなじみのちらつきだ。Waylandに同等のものはなく、ウィンドウを画面へ直送できるかどうかはコンポジタだけが決める。

← 用語集に戻る