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şlemleriyle ilişkili titreşim sorunlarını çözmek için bir bellek arabelleği kullanır. Çift arabelleğe alma etkinleştirildiğinde, tüm boya işlemleri önce ekranda çizim yüzeyi yerine bir bellek arabelleğine işlenir. Tüm boya işlemleri tamamlandıktan sonra bellek arabelleği doğrudan ilişkili çizim yüzeyine kopyalanır. Ekranda yalnızca bir grafik işlemi gerçekleştiriliyor olduğundan, karmaşık tablo işlemleriyle ilişkili görüntü titreşimi ortadan kaldırılmış olur. Çoğu uygulama için, uygulama tarafından sağlanan varsayılan .NET Framework arabelleğe alma en iyi sonuçları sağlar. Standart Windows Forms denetimleri varsayılan olarak iki kez arabelleğe sahiptir. Formlar ve yazma denetimleriniz için varsayılan çift arabelleğe alma ayarını iki şekilde etkinleştirebilirsiniz. özelliğini olarak veya DoubleBuffered bayrağını true olarak ayarlamak için SetStyle yöntemini OptimizedDoubleBuffertrue çağırabilirsiniz. Her iki yöntem de form veya denetiminiz için varsayılan çift arabelleğe alma özelliği sağlar ve titreşimsiz grafik işleme sağlar. yönteminin SetStyle çağrıl kullanılması yalnızca tüm işleme kodunu sizin yazmış olduğunuz ö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ı kullanabilirsiniz. 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
özelliğini DoubleBuffered olarak
trueayarlayın.DoubleBuffered = true;DoubleBuffered = True
- veya -
bayrağını SetStyle olarak ayarlamak için yöntemini OptimizedDoubleBuffer
trueçağırma.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);SetStyle(ControlStyles.OptimizedDoubleBuffer, True)