Jumat, 19 Oktober 2012

Mempercepat Tampilan Display Program Anda

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.

  • 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."  

  • 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

 

© 2011 e - Tutorial | by Moeh Fitrah