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:
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.
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