Aracılığıyla paylaş


Nasıl yapılır: Formlar ve Denetimler için İki Kez Arabelleğe Alma ile Grafik Titreşimini Azaltma

Ç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 önce ekrandaki çizim yüzeyi yerine 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 arabelleğe alınıyor. Formlarınızda ve yazılan denetimlerinizde varsayılan çift arabelleğe almayı iki şekilde etkinleştirebilirsiniz. özelliğini olarak ayarlayabilir DoubleBuffered veya bayrağını SetStyletrueolarak ayarlamak OptimizedDoubleBuffer için yöntemini çağırabilirsiniz.true 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. yöntemini çağırmak SetStyle 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 true olarak ayarlayın.

    DoubleBuffered = true;
    
    DoubleBuffered = True
    
    

- veya -

  • bayrağını SetStyletrueolarak ayarlamak için yöntemini çağırınOptimizedDoubleBuffer.

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

Ayrıca bkz.