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ı SetStyletrue
olarak 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ı SetStyle
true
olarak ayarlamak için yöntemini çağırınOptimizedDoubleBuffer.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
Ayrıca bkz.
.NET Desktop feedback
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin