Partager via


Atténuation : rendu de la fenêtre WPF

Dans .NET Framework 4.6 s’exécutant sur Windows 8 et versions ultérieures, la fenêtre entière est rendue sans découpage lorsqu’elle s’étend en dehors d’un affichage unique dans un scénario multi-moniteur.

Répercussion

En général, le rendu d’une fenêtre entière sur plusieurs moniteurs sans découpage est le comportement attendu. Toutefois, sur Windows 7 et versions antérieures, les fenêtres WPF sont clippées lorsqu’elles s’étendent au-delà d’un seul affichage, car le rendu d’une partie de la fenêtre sur le deuxième moniteur a un impact significatif sur les performances.

L’impact précis du rendu des fenêtres WPF sur les moniteurs sur Windows 8 et versions ultérieures n’est pas précisément mesurable, car il dépend d’un grand nombre de facteurs. Dans certains cas, il peut encore produire un impact négatif sur les performances, en particulier pour les utilisateurs qui exécutent des applications gourmandes en graphiques et qui ont des fenêtres chevauchant plusieurs écrans. Dans d’autres cas, vous pouvez simplement souhaiter un comportement cohérent entre les versions de .NET Framework.

Atténuation

Vous pouvez désactiver cette modification et revenir au comportement précédent de découpage d’une fenêtre WPF lorsqu’elle s’étend au-delà d’un seul affichage. Il existe deux méthodes pour y parvenir :

  • En ajoutant l’élément <EnableMultiMonitorDisplayClipping> à la <appSettings> section de votre fichier de configuration d’application, vous pouvez désactiver ou activer ce comportement sur les applications s’exécutant sur Windows 8 ou version ultérieure. Par exemple, la section de configuration suivante désactive le rendu sans découpage :

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

    Le <EnableMultiMonitorDisplayClipping> paramètre de configuration peut avoir l’une des deux valeurs suivantes :

    • true, pour activer le découpage des fenêtres selon les limites de l’écran pendant le rendu.

    • false, pour désactiver le découpage des fenêtres selon les limites de l’écran pendant le rendu.

  • En définissant la propriété EnableMultiMonitorDisplayClipping à true au démarrage de l'application.

Voir aussi