Aracılığıyla paylaş


Formlar ve Denetimler için Çift Arabelleğe Alma ile Grafik Titreşimi Nasıl Azaltılır?

Çift arabelleğe alma, birden çok boya işlemiyle ilişkili titreşim sorunlarını gidermek için bir bellek arabelleği kullanır. Çift arabelleğe alma etkinleştirildiğinde, tüm boyama işlemleri ekrandaki çizim yüzeyi yerine önce bir bellek arabelleğine işlenir. Tüm boya işlemleri tamamlandıktan sonra bellek arabelleği doğrudan kendisiyle ilişkilendirilmiş çizim yüzeyine kopyalanır. Ekranda yalnızca bir grafik işlemi gerçekleştirildiğinden, karmaşık boyama işlemleriyle ilişkili titreyen görüntü ortadan kalkar. Çoğu uygulama için, .NET Framework tarafından sağlanan varsayılan çift arabelleğe alma en iyi sonuçları sağlar. Standart Windows Forms denetimleri varsayılan olarak çift tampon bellekli. Formlarınızda ve kendi yazdığınız denetimlerde varsayılan çift arabelleğe almayı iki şekilde etkinleştirebilirsiniz. DoubleBuffered özelliğini trueolarak ayarlayabilir veya OptimizedDoubleBuffer bayrağını trueolarak ayarlamak için SetStyle yöntemini çağırabilirsiniz. Her iki yöntem de form veya denetiminiz için varsayılan çift arabelleğe almayı etkinleştirir ve titreşimsiz grafik işleme sağlar. SetStyle yöntemini çağırmak yalnızca tüm işleme kodunu yazdığınız özel denetimler için önerilir.

Animasyon veya gelişmiş bellek yönetimi gibi daha gelişmiş çift arabelleğe alma senaryoları için kendi çift arabelleğe alma mantığınızı uygulayabilirsiniz. Daha fazla bilgi için bkz. Nasıl Yapılır: Arabelleğe Alınan Grafikleri El ile Yönetme.

Titreşimi azaltmak için

  • DoubleBuffered özelliğini trueolarak ayarlayın.

    DoubleBuffered = true;
    
    DoubleBuffered = True
    
    

-veya-

  • OptimizedDoubleBuffer bayrağını trueolarak ayarlamak için SetStyle yöntemini çağırın.

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

Ayrıca bkz.