Léxico de TI › Programação › _NET_WM_BYPASS_COMPOSITOR

_NET_WM_BYPASS_COMPOSITOR

Programação Svenska → Atualizado: 2026-10-10

A propriedade EWMH pela qual um jogo em tela cheia pede ao compositor que saia da frente, para que os quadros vão direto para a tela, sem uma cópia a mais e sem um vsync a mais.

Um gerenciador de janelas com composição desenha cada janela em seu próprio buffer e só depois monta a tela, o que é o objetivo de sombras e transparência, mas puro desperdício para um jogo que cobre a tela inteira de qualquer jeito: mais uma cópia, mais um quadro de latência e uma amarração ao ritmo do compositor. Por isso o EWMH 1.5 introduziu a _NET_WM_BYPASS_COMPOSITOR, um inteiro que o cliente define na sua janela de nível superior. O 0 significa sem preferência, o 1 que a janela prefere não ser composta, e o 2 que ela quer explicitamente a composição, mesmo em tela cheia.

O que o compositor faz com a dica é "desredirecionar" a janela: tirá-la do buffering da extensão Composite e deixá-la desenhar diretamente. SDL 2, mpv e Wine definem a propriedade em tela cheia; o KWin tem uma opção que decide se os aplicativos podem bloquear a composição, o picom tem o unredir-if-possible, e o Mutter desredireciona janelas em tela cheia por conta própria, independentemente da dica. O lado ruim é o piscar conhecido quando o compositor desliga e religa. O Wayland não tem equivalente: lá, só o compositor decide quando uma janela pode ir direto para a tela.

← Voltar ao léxico