Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kedipan adalah masalah umum dalam pemrograman grafis. Operasi grafis yang memerlukan beberapa operasi pengecatan kompleks dapat menyebabkan gambar yang dirender tampak berkedip atau memiliki tampilan yang tidak dapat diterima. Untuk mengatasi masalah ini, .NET Framework menyediakan akses ke buffering ganda.
Penggandaan buffer menggunakan buffer memori untuk mengatasi masalah berkedip yang terkait dengan berbagai operasi pengecatan. Ketika buffering ganda diaktifkan, semua operasi cat pertama-tama dirender ke buffer memori alih-alih permukaan gambar di layar. Setelah semua operasi cat selesai, buffer memori disalin langsung ke permukaan gambar yang terkait dengannya. Karena hanya satu operasi grafis yang dilakukan pada layar, kedipan gambar yang terkait dengan operasi penggambaran kompleks dihilangkan.
Buffering Ganda Bawaan
Cara term mudah untuk menggunakan buffering ganda dalam aplikasi Anda adalah dengan menggunakan buffering ganda default untuk formulir dan kontrol yang disediakan oleh .NET Framework. Anda dapat mengaktifkan buffering ganda default untuk Formulir Windows dan kontrol Windows yang ditulis dengan mengatur properti DoubleBuffered ke true atau dengan menggunakan metode SetStyle. Untuk informasi selengkapnya, lihat Cara: Mengurangi Kedipan Grafis dengan Buffering Ganda untuk Formulir dan Kontrol.
Mengelola Grafik Buffered Secara Manual
Untuk skenario buffering ganda yang lebih canggih, seperti animasi atau manajemen memori tingkat lanjut, Anda dapat menggunakan kelas .NET Framework untuk mengimplementasikan logika buffering ganda Anda sendiri. Kelas yang bertanggung jawab untuk mengalokasikan dan mengelola buffer grafis individu adalah kelas BufferedGraphicsContext. Setiap domain aplikasi memiliki instans BufferedGraphicsContext default sendiri yang mengelola semua buffering ganda default untuk aplikasi tersebut. Dalam kebanyakan kasus, hanya akan ada satu domain aplikasi per aplikasi, jadi umumnya ada satu BufferedGraphicsContext default per aplikasi. Instans BufferedGraphicsContext default dikelola oleh kelas BufferedGraphicsManager. Anda dapat mengambil referensi ke instans BufferedGraphicsContext default dengan memanggil Current. Anda juga dapat membuat instans BufferedGraphicsContext khusus, yang dapat meningkatkan performa untuk aplikasi intensif grafis. Untuk informasi tentang cara membuat contoh BufferedGraphicsContext, lihat Cara: Mengelola Grafik Terkumpul secara Manual.
Menampilkan Grafik Buffer secara Manual
Anda dapat menggunakan instans kelas BufferedGraphicsContext untuk membuat buffer grafis dengan memanggil BufferedGraphicsContext.Allocate, yang mengembalikan instans kelas BufferedGraphics. Objek BufferedGraphics mengelola buffer memori yang terkait dengan permukaan penyajian, seperti formulir atau kontrol.
Setelah diinisialisasi, kelas BufferedGraphics mengelola rendering ke buffer grafis dalam memori. Anda dapat merender grafik ke buffer memori melalui Graphics, yang mengekspos objek Graphics yang secara langsung mewakili buffer memori. Anda dapat melukis objek Graphics ini seperti yang Anda lakukan pada objek Graphics yang mewakili permukaan gambar. Setelah semua grafik digambar ke buffer, Anda dapat menggunakan BufferedGraphics.Render untuk menyalin konten buffer ke permukaan gambar di layar.
Untuk informasi lebih lanjut tentang penggunaan kelas BufferedGraphics, lihat Penyajian Grafik Buffered secara Manual. Untuk informasi selengkapnya tentang penyajian grafik, lihat Grafis dan Gambar di Windows Forms
Lihat juga
.NET Desktop feedback