Mitigação: renderização de janela WPF

No .NET Framework 4.6 em execução no Windows 8 e superior, toda a janela é renderizada sem recorte quando se estende para fora de uma única exibição em um cenário de vários monitores.

Impacto

Em geral, renderizar uma janela inteira em vários monitores sem recorte é o comportamento esperado. No entanto, no Windows 7 e nas versões anteriores, as janelas do WPF são cortadas quando se estendem além de uma única exibição porque a renderização de uma parte da janela no segundo monitor tem um impacto significativo no desempenho.

O impacto preciso da renderização de janelas WPF entre monitores no Windows 8 e superior não é precisamente quantificável, pois depende de um grande número de fatores. Em alguns casos, ele ainda pode causar um impacto negativo no desempenho, especialmente para usuários que executam aplicativos gráficos intensivos e têm janelas atravessando múltiplos monitores. Em outros casos, você pode simplesmente querer um comportamento consistente entre versões do .NET Framework.

Atenuação

Você pode desabilitar essa alteração e reverter para o comportamento anterior de recortar uma janela do WPF quando ela se estende além de uma única exibição. Há duas maneiras de fazer isso:

  • Ao adicionar o <EnableMultiMonitorDisplayClipping> elemento à <appSettings> seção do arquivo de configuração do aplicativo, você pode desabilitar ou habilitar esse comportamento em aplicativos em execução no Windows 8 ou posterior. Por exemplo, a seção de configuração a seguir desabilita a renderização sem recorte:

    <appSettings>
        <add key="EnableMultiMonitorDisplayClipping" value="true"/>
      </appSettings>
    

    A <EnableMultiMonitorDisplayClipping> configuração pode ter um dos dois valores:

    • true, para habilitar a distorção das janelas e monitorar limites durante a renderização.

    • false, para desabilitar a distorção das janelas e monitorar limites durante a renderização.

  • Definindo a EnableMultiMonitorDisplayClipping propriedade como true na inicialização do aplicativo.

Consulte também