Partager via


Comment : réduire le scintillement des graphiques à l'aide du mécanisme de double tampon pour les formulaires et les contrôles

La double mise en mémoire tampon utilise une mémoire tampon pour résoudre les problèmes de scintillement associés aux opérations de dessin multiples. Quand la double mise en mémoire tampon est activée, toutes les opérations de dessin sont d’abord rendues dans une mémoire tampon au lieu de l’être sur la surface de dessin à l’écran. Une fois que toutes les opérations de dessin sont terminées, la mémoire tampon est copiée directement sur la surface de dessin qui y est associée. Étant donné qu’une seule opération graphique est effectuée sur l’écran, le scintillement de l’image associé à des opérations de peinture complexes est éliminé. Pour la plupart des applications, la double mise en mémoire tampon par défaut fournie par le .NET Framework fournit les meilleurs résultats. Les contrôles Windows Forms standard sont mis en mémoire tampon double par défaut. Vous pouvez activer la double mise en mémoire tampon par défaut dans vos formulaires et les contrôles créés de deux manières. Vous pouvez définir la DoubleBuffered propriété truesur , ou vous pouvez appeler la SetStyle méthode pour définir l’indicateur OptimizedDoubleBuffertruesur . Les deux méthodes activent le double tampon par défaut pour votre formulaire ou contrôle et fournissent un rendu graphique sans scintillement. L’appel de la SetStyle méthode est recommandé uniquement pour les contrôles personnalisés pour lesquels vous avez écrit tout le code de rendu.

Pour les scénarios de double mise en mémoire tampon plus avancés, tels que l’animation ou la gestion avancée de la mémoire, vous pouvez implémenter votre propre logique de mise en mémoire tampon double. Pour plus d’informations, consultez Guide pratique pour gérer manuellement les graphiques mis en mémoire tampon.

Pour réduire le scintillement

  • Définissez la propriété DoubleBuffered sur true.

    DoubleBuffered = true;
    
    DoubleBuffered = True
    
    

- ou -

  • Appelez la SetStyle méthode pour définir l’indicateur OptimizedDoubleBuffer sur true.

    SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
    
    SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
    
    

Voir aussi