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 true
olarak ayarlayabilir veya OptimizedDoubleBuffer bayrağını true
olarak 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
true
olarak ayarlayın.DoubleBuffered = true;
DoubleBuffered = True
-veya-
OptimizedDoubleBuffer bayrağını
true
olarak ayarlamak için SetStyle yöntemini çağırın.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
Ayrıca bkz.
- DoubleBuffered
- SetStyle
- Çift Arabelleğe Alınmış Grafik
- Windows Forms'da
Grafik ve Çizim
.NET Desktop feedback