Compartilhar via


O Gerenciador de Janelas da Área de Trabalho

Antes do Windows Vista, um programa do Windows desenhava diretamente para a tela. Em outras palavras, o programa gravaria diretamente no buffer de memória mostrado pelo vídeo cartão. Essa abordagem poderá causar artefatos visuais se uma janela não se repintar corretamente. Por exemplo, se o usuário arrastar uma janela sobre outra janela e a janela abaixo não se repintar rapidamente o suficiente, a janela superior mais pode deixar uma trilha:

uma captura de tela que mostra artefatos de repintar.

A trilha é causada porque ambas as janelas pintam para a mesma área de memória. À medida que a janela mais alta é arrastada, a janela abaixo dela deve ser repintada. Se a repinização for muito lenta, isso causará os artefatos mostrados na imagem anterior.

O Windows Vista mudou fundamentalmente a forma como as janelas são desenhadas, introduzindo o DWM (Gerenciador de Janelas da Área de Trabalho). Quando o DWM está habilitado, uma janela não é mais desenhada diretamente para o buffer de exibição. Em vez disso, cada janela desenha para um buffer de memória fora da tela, também chamado de superfície offscreen. Em seguida, o DWM compõe essas superfícies na tela.

um diagrama que mostra como o dwm compõe a área de trabalho.

O DWM oferece várias vantagens em relação à arquitetura gráfica antiga.

  • Menos mensagens de repintar. Quando uma janela é obstruída por outra janela, a janela obstruída não precisa se repintar.
  • Artefatos reduzidos. Anteriormente, arrastar uma janela poderia criar artefatos visuais, conforme descrito.
  • Efeitos visuais. Como o DWM é responsável por compor a tela, ele pode renderizar áreas translúcidas e desfocadas da janela.
  • Dimensionamento automático para DPI alta. Embora o dimensionamento não seja a maneira ideal de lidar com alta DPI, é um fallback viável para aplicativos mais antigos que não foram projetados para configurações de DPI altas. (Retornaremos a este tópico mais tarde, na seção DPI e Device-Independent Pixels.)
  • Modos de exibição alternativos. O DWM pode usar as superfícies fora da tela de várias maneiras interessantes. Por exemplo, o DWM é a tecnologia por trás do Windows Flip 3D, miniaturas e transições animadas.

Observe, no entanto, que não há garantia de que o DWM esteja habilitado. Os elementos gráficos cartão podem não dar suporte aos requisitos do sistema DWM e os usuários podem desabilitar o DWM por meio do painel de controle Propriedades do Sistema. Isso significa que seu programa não deve depender do comportamento de repintamento do DWM. Teste o programa com o DWM desabilitado para garantir que ele seja repinto corretamente.

Avançar

Modo retido versus modo imediato