Karena
Microsoft Windows merupakan antar muka yang bersifat grafis, kecepatan graphics
dan pengoperasian tampilan lainnya penting sekali diperhatikan dalam
mempercepat pemunculan aplikasi. Pemunculan form yang lebih cepat dan
"penggambaran form" (event Paint), nampaknya akan membuat aplikasi
Anda dirasakan tampil lebih cepat oleh pemakai. Ada beberapa cara yang dapat Anda gunakan
untuk mempercepat pemunculan aplikasi Anda, yaitu sebagai berikut:
- Set property ClipControls dari setiap objek kontainer (Form, Frame, Picture) menjadi False.
- Gunakan property AutoRedraw dengan tepat.
- Gunakan control Image menggantikan control PictureBox.
- Gunakan Line menggantikan PSet.
- Sembunyikan controls saat mengeset properti guna menghindari penggambaran ulang (repaint).
Penjelasan untuk setiap cara di atas dapat Anda lihat di bawah ini.
Kecuali Anda sedang menggunakan methode graphics (Line, PSet, Circle, dan Print), Anda seharusnya mengeset property ClipControls menjadi False (default=True) untuk form dan semua frame dan control picturebox (hal ini mungkin menyebabkan hasil yang tidak dapat diprediksi jika coding Anda terdiri dari methode graphics yang menggambar di belakang control-control lainnya). Ketika ClipControls diset menjadi False, Visual Basic tidak menggambar ulang controls dengan background sebelum menggambar control-control itu sendiri. Pada form yang terdiri dari banyak control, hasil kecepatan yang didapat sangat berarti sekali.
Untuk informasi lebih lanjut, lihat "Layering Graphics with AutoRedraw and ClipControls" dalam "Working with Text and Graphics."
- Set property ClipControls dari setiap objek kontainer (Form, Frame, Picture) menjadi False
Kecuali Anda sedang menggunakan methode graphics (Line, PSet, Circle, dan Print), Anda seharusnya mengeset property ClipControls menjadi False (default=True) untuk form dan semua frame dan control picturebox (hal ini mungkin menyebabkan hasil yang tidak dapat diprediksi jika coding Anda terdiri dari methode graphics yang menggambar di belakang control-control lainnya). Ketika ClipControls diset menjadi False, Visual Basic tidak menggambar ulang controls dengan background sebelum menggambar control-control itu sendiri. Pada form yang terdiri dari banyak control, hasil kecepatan yang didapat sangat berarti sekali.
Untuk informasi lebih lanjut, lihat "Layering Graphics with AutoRedraw and ClipControls" dalam "Working with Text and Graphics."
- Gunakan property AutoRedraw dengan tepat
Ketika property AutoRedraw diset ke True untuk sebuah form atau control, Visual
Basic menyimpan sebuah bitmap untuk menggambar ulang form atau control
tersebut. Walaupun hal ini meningkatkan kecepatan penggambaran ulang (sebagai
contoh, ketika form atau control dibebaskan setelah sebuah form atau jendela
yang menyimpannya dihapus), hal ini memperlambat methode graphics. Visual Basic
harus membentuk methode graphics pada AutoRedraw bitmap dan meng-copy bitmap
yang ada ke layar. Proses ini juga menggunakan sejumlah memory.
Jika aplikasi Anda menghasilkan graphics yang cukup kompleks tapi tidak sering mengubahnya, setting AutoRedraw menjadi True adalah pilihan yang tepat. Tapi jika aplikasi Anda menggambar graphics yang harus berubah setiap saat, akan lebih baik jika Anda mengeset property AutoRedraw menjadi False dan membentuk methode graphics untuk form atau control di event Paint.
Untuk informasi lebih lanjut, lihat "Layering Graphics with AutoRedraw and ClipControls" di "Working with Text and Graphics."
Optimasi ini meningkatkan kecepatan dan mengurangi ukurang aplikasi Anda; gunakan hal ini sedapat mungkin. Ketika Anda menampilkan pictures dan mengklik aksi events mouse actions padanya, gunakan control image menggantikan picture box. Jangan gunakan sebuah control picturebox kecuali Anda membutuhkan kemampuan yang hanya disediakan oleh picture box, seperti methode graphic, kemampuan untuk memuat controls lainnya, atau dynamic data exchange (DDE).
Jika aplikasi Anda menghasilkan graphics yang cukup kompleks tapi tidak sering mengubahnya, setting AutoRedraw menjadi True adalah pilihan yang tepat. Tapi jika aplikasi Anda menggambar graphics yang harus berubah setiap saat, akan lebih baik jika Anda mengeset property AutoRedraw menjadi False dan membentuk methode graphics untuk form atau control di event Paint.
Untuk informasi lebih lanjut, lihat "Layering Graphics with AutoRedraw and ClipControls" di "Working with Text and Graphics."
- Gunakan control Image menggantikan control PictureBox
Optimasi ini meningkatkan kecepatan dan mengurangi ukurang aplikasi Anda; gunakan hal ini sedapat mungkin. Ketika Anda menampilkan pictures dan mengklik aksi events mouse actions padanya, gunakan control image menggantikan picture box. Jangan gunakan sebuah control picturebox kecuali Anda membutuhkan kemampuan yang hanya disediakan oleh picture box, seperti methode graphic, kemampuan untuk memuat controls lainnya, atau dynamic data exchange (DDE).
- Gunakan Line menggantikan PSet
Methode Line ini lebih cepat dibandingkan suatu set methode PSet. Hindari
menggunakan methode PSet dan pengelompokan sekumpulan nilai menjadi sebuah
methode Line. Kontrol Shape dan Line sangat tepat untuk elemen-elemen yang
bersifat grafis yang jarang berubah; sementara graphics yang kompleks, atau
graphics yang sering berubah, umumnya terbaik ditangani dengan menggunakan
methode graphics.
- Sembunyikan controls saat mengeset properti guna menghindari penggambaran ulang (repaint)
Setiap penggambaran ulang (repaints) merupakan sesuatu yang berharga. Repaints
yang lebih sedikit di Visual Basic harus dilakukan untuk mempercepat pemunculan
aplikasi Anda. Salah satu cara untuk mengurangi jumlah repaints adalah membuat
controls tidak kelihatan ketika Anda memanipulasinya. Sebagai contoh, misalkan
Anda ingin mengatur ulang ukuran (resize) beberapa listboxes dalam event Resize
form:
Code::
|
Sub Form_Resize () Dim i As Integer, sHeight As Integer sHeight = ScaleHeight / 4 For i = 0 To 3 lstDisplay(i).Move 0, i * sHeight, _ ScaleWidth, sHeight Next End Sub |
Prosedur di atas membuat empat repaints yang berbeda, satu untuk setiap listbox. Anda dapat mengurangi jumlah repaints dengan menempatkan semua listboxes di dalam sebuah picturebox, dan menyembunyikan picturebox sebelum Anda memindahkan dan mengatur ukuran listboxes. Kemudian, ketika Anda membuat picturebox kelihatan (visible) lagi, semua listboxes digambar dalam sebuah prosedur:
Code::
|
Sub Form_Resize () Dim i As Integer, sHeight As Integer picContainer.Visible = False picContainer.Move 0, 0, ScaleWidth, ScaleHeight sHeight = ScaleHeight / 4 For i = 0 To 3 lstDisplay(i).Move 0, i * sHeight, _ ScaleWidth, sHeight Next picContainer.Visible = True End Sub |
Catatan: Contoh ini menggunkaan methode Move menggantikan setting property Top dan Left. Methode Move mengeset kedua properties dalam sebuah operasi, dan menyimpan repaints yang ditambahkan.
Sumber: MSDN Library - Januari 2000 (Optimizing Display Speed)
0 komentar:
Posting Komentar