Desktop Window Manager com GPU alta: causas e soluções
O Gerenciador de Janelas da Área de Trabalho (Desktop Window Manager, dwm.exe) usa GPU, CPU e memória porque desenha cada janela que você vê em uma única imagem da área de trabalho, então a carga dele sobe e desce conforme o que está na tela: taxa de atualização, número de monitores, HDR, efeitos visuais e, principalmente, apps que redesenham o tempo todo. Uso alto de GPU pelo DWM normalmente é sintoma de outro app ou de uma configuração de tela, não um defeito do próprio DWM, e a solução é descobrir o que está alimentando ele.
Não dá para desligar o DWM, e finalizá-lo no Gerenciador de Tarefas não resolve. O trabalho útil é medir o DWM em relação à sua configuração, mudar uma coisa de cada vez e manter o driver gráfico atualizado.
O que o Gerenciador de Janelas da Área de Trabalho faz
A visão geral do Desktop Window Manager da Microsoft descreve o modelo: as janelas não desenham mais direto na tela. Cada app desenha em uma superfície fora da tela na memória de vídeo, e o DWM compõe essas superfícies na imagem da área de trabalho que chega ao monitor. A Microsoft lista efeitos visuais, molduras de janela, animações de transição e suporte a altas resoluções entre o que a composição permite.
É por isso que o DWM é permanente. A referência de DwmEnableComposition diz que a função está obsoleta desde o Windows 8 e que o DWM não pode mais ser desativado por programação; uma chamada pedindo para desativar a composição não tem efeito nenhum. No Windows 10 e no Windows 11 não existe área de trabalho com suporte sem ele.
Finalizar o dwm.exe pelo Gerenciador de Tarefas não remove os apps e as configurações que causaram a carga, então os mesmos números voltam. Um uso que parece o apetite do próprio DWM é, na verdade, o custo de compor o que todos os outros estão desenhando.
Por que GPU, CPU e memória sobem
A composição custa mais quando há mais pixels, mais quadros ou mais superfícies para combinar. As causas comuns:
- Taxa de atualização alta. A 144 Hz o DWM compõe até 144 quadros por segundo em vez de 60. Tudo o que muda na tela nesse tempo precisa ser recomposto nesse ritmo.
- Vários monitores, ou escalas diferentes. Cada monitor é uma saída própria, e a tela de um notebook em 150% ao lado de um monitor externo em 100% faz as janelas serem redimensionadas quando passam de um para o outro. Um monitor externo de alta resolução adiciona uma grande quantidade de pixels a cada quadro.
- HDR. A página de configurações de HDR da Microsoft diz que reproduzir conteúdo HDR na bateria pode reduzir a duração dela, e é por isso que notebooks desligam o HDR automaticamente quando são desconectados da tomada. Em um desktop ele continua ligado, e é mais uma variável que vale testar.
- Efeitos de transparência e animação. O desfoque acrílico atrás do Iniciar, da barra de tarefas e de algumas janelas precisa ser recalculado quando o que está atrás muda.
- Apps que redesenham o tempo todo. Um navegador reproduzindo vídeo, um jogo em modo janela ou janela sem bordas, um gravador de tela ou ferramenta de streaming, uma sobreposição de jogo ou de chat, um papel de parede animado ou um monitor de hardware que atualiza a cada quadro entregam conteúdo novo ao DWM sem parar. Essa é a causa mais comum, e é por isso que o DWM muitas vezes parece ocupado enquanto você "não está fazendo nada", com um vídeo pausado em uma aba em segundo plano ou uma sobreposição ainda ativa.
- Drivers gráficos. O trabalho do DWM passa pelo driver da GPU, então um bug do driver aparece com o nome do DWM. A Intel documentou um caso em um artigo de suporte: o crescimento de memória do dwm.exe em processadores Intel da 6ª à 10ª geração com drivers do Windows 10 27.20.100.8587 ou mais recentes, começando por volta de 30 MB e acumulando até o sistema poder travar. A solução da Intel é o driver Windows DCH 30.0.101.1191 ou mais recente, depois de uma instalação limpa do driver caso o Windows Update tenha instalado outro. Se você tem um driver Intel antigo e a memória do DWM só cresce, verifique isso primeiro.
A memória do DWM inclui as superfícies que ele compõe. Mais janelas, telas maiores e escala mais alta significam mais superfícies, então uma configuração com vários monitores usa bem mais do que só a tela de um notebook. Já um crescimento constante por horas com as mesmas janelas abertas não é normal.
Meça primeiro no Gerenciador de Tarefas
Pressione Ctrl + Shift + Esc. Na guia Processos, encontre Gerenciador de Janelas da Área de Trabalho. Se a coluna GPU não aparecer, clique com o botão direito em qualquer cabeçalho de coluna e ative GPU e Mecanismo de GPU.
Leia essas duas colunas juntas. O artigo da Microsoft sobre GPU no Gerenciador de Tarefas explica que o número de GPU de um processo é o uso do mecanismo mais ocupado dele em todas as GPUs, e a coluna Mecanismo de GPU diz qual GPU e qual mecanismo é, como GPU 0 - 3D. Dois processos podem mostrar números altos usando mecanismos diferentes, então um app de vídeo no mecanismo Video Decode e o DWM no 3D não estão disputando a mesma coisa.
Na guia Desempenho, selecione cada GPU no painel esquerdo para ver os mecanismos dela e a memória dedicada e compartilhada ao longo do tempo. Na guia Detalhes, clique com o botão direito no cabeçalho, escolha Selecionar colunas e adicione a utilização da GPU ou a memória de GPU dedicada e compartilhada para o dwm.exe. O mesmo artigo avisa que a memória compartilhada pode ser contada em mais de um processo, então os totais por processo podem somar mais do que a GPU realmente usa. As colunas de GPU exigem um driver WDDM 2.0 ou mais recente.
Anote três coisas antes de mudar qualquer coisa: qual mecanismo o DWM está usando, se o número acompanha o que você está fazendo e se a memória está estável ou subindo.
Isole a causa uma mudança de cada vez
Mude uma coisa, observe o DWM por um minuto e desfaça se nada mudou.
- Feche os apps um de cada vez. Comece pelo que tem animação: vídeo no navegador, jogos, software de gravação ou streaming, sobreposições de launchers de jogos, apps de chat e utilitários de GPU, papéis de parede animados. Minimizar nem sempre basta, porque alguns apps continuam apresentando quadros em segundo plano. Se o DWM cai quando um app fecha, esse app é a causa, e as configurações dele (aceleração por hardware, limitador de quadros, sobreposição) são onde procurar.
- Desconecte um monitor. Se o DWM se acalma com um monitor desconectado, a carga vem da resolução extra, da taxa de atualização ou das escalas diferentes. Conecte de novo depois; isso é um teste, não uma solução.
- Diminua a taxa de atualização. O guia da Microsoft sobre taxa de atualização usa Configurações › Sistema › Tela › Tela avançada › Escolha uma taxa de atualização. Uma taxa marcada com asterisco também muda a resolução. Em telas compatíveis, a mesma página tem a Taxa de atualização dinâmica, que só aumenta a taxa quando necessário; a Microsoft observa que uma taxa menor economiza bateria. Volte para comparar.
- Desligue transparência e animações. Os passos da Microsoft para efeitos visuais levam a Configurações › Acessibilidade › Efeitos visuais, onde você pode desligar Efeitos de transparência e Efeitos de animação. As superfícies ficam sólidas e as janelas param de animar. As duas opções voltam a ser ligadas do mesmo jeito.
- Desligue o HDR para testar. Em Configurações › Sistema › Tela, selecione a tela HDR no topo se tiver mais de uma, desligue o HDR e compare.
Configurações de elementos gráficos que valem a pena conferir
O Windows tem duas opções gráficas que mudam como os quadros chegam ao DWM. As duas ficam em Configurações › Sistema › Tela › Elementos gráficos.
Otimizações para jogos em janelas. A página da Microsoft sobre jogos em janelas diz que essa opção, em Configurações padrão, passa os jogos DirectX 10 e DirectX 11 compatíveis em modo janela e janela sem bordas do antigo modelo de apresentação blt para o modelo flip, reduzindo a latência dos quadros. Se o DWM estiver ocupado enquanto um jogo assim roda, experimente ligar a opção e reiniciar o jogo. Mudar o jogo para tela cheia exclusiva, quando ele oferece, é outra comparação possível.
Agendamento de GPU acelerado por hardware. A equipe de DirectX da Microsoft explica que isso transfere boa parte do trabalho de agendamento da GPU do Windows para a própria GPU, e que a opção só aparece nas configurações de Elementos gráficos quando a GPU e o driver WDDM 2.7 ou mais recente dela oferecem suporte. Ela não reduz o que o DWM compõe, então trate como um teste A/B: mude, reinicie quando o Windows pedir, repita o mesmo trabalho e fique com o estado que se comporta melhor no seu hardware.
Atualize ou reverta o driver gráfico
O guia de drivers da Microsoft recomenda o Windows Update primeiro e, se você baixar um driver, apenas do site oficial do fabricante. Para gráficos isso significa a página de suporte do fabricante do seu PC (notebooks costumam usar drivers personalizados) ou diretamente Intel, AMD ou NVIDIA. No Gerenciador de Dispositivos, expanda Adaptadores de vídeo para ver quais GPUs você tem.
Se os problemas do DWM começaram logo depois de uma atualização de driver, reverta: no Gerenciador de Dispositivos clique com o botão direito no adaptador de vídeo, escolha Propriedades, abra a guia Driver e selecione Reverter Driver, depois reinicie se for solicitado.
Quando a tela engasga, fica preta ou congela mas o Windows ainda responde, pressione Win + Ctrl + Shift + B. A lista de atalhos de teclado da Microsoft descreve esse atalho como o jeito de despertar o dispositivo quando a tela está em branco ou preta. Ele serve para uma tela travada, não para corrigir um driver que continua vazando memória.
O que não fazer
- Não finalize o
dwm.exe. Ele é a parte do Windows que desenha a área de trabalho, e a causa da carga dele está em outro lugar. - Não tente desativar o DWM por Serviços, pelo Registro, por scripts de "debloat" ou por ferramentas que dizem desligar a composição. Desde o Windows 8 ele não pode ser desativado; esses ajustes, na melhor das hipóteses, não fazem nada e, na pior, deixam a área de trabalho em um estado difícil de recuperar.
- Não renomeie nem substitua arquivos do sistema como
dwm.exeoudwmcore.dll. - Não aplique ajustes do Registro tirados de fóruns para prioridade ou agendamento da GPU. Use as opções em Configurações, que você pode desfazer.
- Não rode um limpador de drivers de um site desconhecido. Se um fabricante pedir uma instalação limpa, como o artigo da Intel pede, siga as instruções desse fabricante.
Onde o Mole entra
O Mole for Windows não muda configurações de tela, HDR, elementos gráficos ou driver, e não mexe no DWM. A página Status dele mostra a atividade de CPU, memória, disco e rede, além de um bloco de GPU com o uso do mecanismo mais ocupado ao longo do tempo, a memória de vídeo quando o driver informa e a temperatura da GPU nos drivers que a expõem. A lista de processos mostra CPU e memória de cada app, agrupadas pelo app ao qual pertencem; ela não tem coluna de GPU por processo, então use as colunas GPU e Mecanismo de GPU do Gerenciador de Tarefas para ver qual processo está puxando a GPU. A seção Status da ajuda cobre o resto.
Um método que ajuda: acompanhe o bloco de GPU do Mole enquanto fecha os apps um por um, e a queda mostra qual app estava alimentando o DWM. Se o que sobe é a CPU, veja Uso alto de CPU no Windows; para memória, Uso alto de memória no Windows; e se o notebook também esquenta, Notebook com Windows superaquecendo.
Perguntas frequentes
O dwm.exe é vírus?
O Gerenciador de Janelas da Área de Trabalho legítimo faz parte do Windows e compõe cada janela que você vê. O uso alto dele reflete o que outros apps estão desenhando, não malware.
Posso desativar o Gerenciador de Janelas da Área de Trabalho?
Não. Desde o Windows 8 a composição do DWM não pode ser desligada, e finalizar o processo só faz o Windows iniciá-lo de novo. Reduza a carga encontrando o app ou a configuração de tela que mantém ele ocupado.
Por que o Gerenciador de Janelas da Área de Trabalho usa muita GPU quando nada está aberto?
Normalmente algo ainda está desenhando: uma aba com vídeo pausado, uma sobreposição, um papel de parede animado ou um widget de monitoramento. Uma taxa de atualização alta ou vários monitores elevam o nível base. Feche esses itens um de cada vez e observe a coluna GPU.
Por que a memória do dwm.exe não para de crescer?
Algum crescimento com mais janelas e monitores é normal. Memória que sobe por horas com as mesmas janelas abertas indica um problema de driver; a Intel documentou um vazamento desse tipo no dwm.exe e o corrigiu no driver 30.0.101.1191.