Windows 7 Basic Theme “frame lag” de algum tipo

3

Eu tenho tido um problema com meu computador (laptop) ao usar o Tema Básico do Windows 7 Ultimate.
O problema que estou tendo é que, sempre que este tema está ativo, e eu movo uma janela sobre a outra, eu recebo esse "frame lag". Isso é o mais perto que eu posso descrever, aqui está uma imagem:

Aquantidadedequadrosdoaplicativoque"fica" no aplicativo subjacente varia. Por exemplo: quando estou usando 2 blocos de notas do Windows, há apenas um pequeno pedaço de quadros que ficam para trás, e quando qualquer janela está se movendo e a janela do Explorer, há muitos quadros. Os quadros "à esquerda" são apagados a cada 8 segundos, o que também varia constantemente entre os programas.

Isso só acontece no tema básico. Funciona bem com o Aero. Minha placa de vídeo é perfeitamente capaz de renderizar isso. Eu posso correr o Crysis muito bem. É uma nVidia 9600M GS com 512MB de RAM (M of course significa "mobilidade" como em um laptop). Eu atualmente também tenho 2 monitores FullHD conectados, mas isso também acontece na tela do laptop nativo com uma resolução moderada de 1440 x 900. Todos os drivers mais recentes da nVidia foram instalados.

    
por René 03.04.2011 / 02:26

1 resposta

3

O que você está enfrentando é chamado de "janela rasgando". É um fenômeno que ocorre apenas no tema básico do Windows, devido à ausência do Windows Aero.

A Aero usa o DWM (Desktop Window Manager) introduzido no Windows Vista, que está muito mais ligado à placa de vídeo e à aceleração de hardware, em comparação ao uso do computador sem DWM.

Isso significa que, embora o Aero pareça melhor, uma porcentagem muito maior dele é renderizada pela GPU, e não pela CPU. No tema do Windows Basic, grande parte da tela é acelerada por software, enviando individualmente a mensagem WM_PAINT para todos os aplicativos.

Agora, além disso, o DWM usa buffer duplo para evitar tremulações e rasgamento da janela.

Estados da Wikipédia:

Since MIL provides a retained mode graphics system by caching the composition trees, the job of repainting and refreshing the screen when windows are moved is handled by DWM and MIL, freeing the application of the responsibility. The background data is already in the composition tree and the off-screen buffers, that is directly used to render the background, without having the background applications to re-render themselves by sending them the WM_PAINT message, as was the case with pre-Vista Windows OSs. DWM uses double-buffered graphics to prevent flickering and tearing during window moves. The compositing engine uses optimizations such as culling to improve performance, as well as not redrawing areas that haven't changed. Because the compositor is multi-monitor aware, the DWM natively supports that too.

Agora, minha teoria do porquê está acontecendo não é por causa da GPU. É por causa do seu CPU. Se houver vários monitores conectados ao tema do Windows Basic, dependendo do desempenho das placas gráficas, o uso do Aero poderá ser mais rápido.

    
por 26.08.2011 / 21:38