- Optimizasyon -
  - Ana Sayfa
  - Rastgele İpucu
  - Genel Optimizasyon
  - String Optimizasyonu

- Makale -
  - XP Stili Görünümü
  - Package&Deployment     Wizard Sorunları
  - InnoSetup ile Kurulum     Paketi Hazırlama


- Ayın İpucu -
Kontrollere veri gönderirken, onları gizleyin. Örneğin, bir listbox'ta 1000 tane string göstermek istiyorsunuz. Önce, 'Visible' özelliğini 'false' yapın, stringleri ekleyin, ve tekrar 'true' yaparak görünür hale getirin. Böylece listbox'ın her eklemede kendini yenilemesine gerek kalmayacak ve daha hızlı işlem yapacaktır. İşlem bittikten sonra kendisini bir kere yenilemesi yeterli olacaktır.
Visual Basic Optimizasyonu

Ana Sayfa > Genel Optimizasyon > Hız Optimizasyonu

Hız için Optimize Edin

Kullanıcılar genellikle yavaş çalışan programlarda yakınırlar. Peki bunları nasıl daha hızlı hale getirebiliriz.

İşte programlarınızı daha da hızlandıracak birkaç ipucu:

String kullanımını optimize etmek

String değişkenleri işlemek genellikle optimize edilmemiş Visual Basic fonksiyonlarının kullanılması nedeniyle gerektiğinden daha yavaştır. Bu konu hakkında hazırladığımız makaleyi buradan okuyabilirsiniz.

Özellikleri değişkenlere atayın

Eğer bir özelliğin değerine birden fazla ihtiyaç duyacaksanız, onu bir değişkene atayın. Değişkenler genellikle aynı tipteki özelliklerden 10-20 kat daha hızlıdır.

For Each..Next Kullanın

Programcılar genellikle For i=0...Next şeklinde döngüler kullanırlar. Diğer taraftan, For Each...Next döngüsü daha hızlı işlem yapar ve yorumlanması da daha kolaydır.

Döngülerinizi düzenleyin

Normal olarak, döngüler, programınızın en çok zaman ve işlemci harcayan kısımlarıdır. Bu yüzden döngülerinizde son derece dikkatli davranmanız gerekmektedir.

Matematik karmaşası

Döngülerinizi en hızlı çalışacak şekilde optimize etmelisiniz. Özellikle de, örneğin n gibi bilinmeyen bir sayıda döngü yapılacaksa.

Örnek olarak şu kodlara bakabilirsiniz.
 
Code example
Sub EnHizli(n)
For i = 1 to n
Debug.Print "Merhaba dünya!"
Next
End Sub
Sub Yavas(n)
For i = 1 to n
For j = 1 to n
Debug.Print "Merhaba dünya!"
Next
Next
End Sub
Sub EnYavas(n)
For i = 1 to n
EnYavas i
Next
End Sub

Nesneleri (object) işlemek

Noktaları azaltın. Her nokta biraz daha zaman harcar ve okumayı zorlaştırır. Bir nesnenin varsayılan değerine, sadece o nesnenin ismini yazarak da ulaşabilirsiniz (özelliğin ismini vermeden). Ayrıca bir nesneyi, bir değişkene atayabilirsiniz:

Dim X As BirNesne
Set X = BirKontrol.BirNesne(123)


Artık uzun isminin yerine X'i çağırabilirsiniz.

Ayrıca kısa kod yazmak için With..End kullanabilirsiniz, ancak dikkatli olun! Bu yöntem, eğer sadece bir iki özellik için uygulanacaksa programınızın yavaşlamasına da neden olabilir.

Önce ve geç bildirme

Eğer bir nesnenin hangi tipte olacağını önceden biliyorsanız bu tipi kullanın. Değişkenlerin Object ya da Variant olarak tanımlanmasından kaçının.

Buna önce bildirim denir ve VB bunu derleme aşamasında düzenler. Aksi halde ise durum ancak çalışma anında anlaşılır ve bu yüzden daha yavaştır.

Görüntüleme hızını optimize edin

Görüntüleme hızını optimize etmenin birkaç yöntemi:
  • ClipControls özelliğini False yapın.
  • Mümkünse PictureBox yerine Image kutusu, ve TextBox yerine Label kullanın.
  • Kontrolleri işlerken gizleyin ve sonra görünür hale getirin (TextBox, ListBox).
  • Sonradan gerekecek verileri baştan yükleyin. Örneğin, bir veri tabanının içeriğini sonradan işlemek için bir diziye atayabilirsiniz.
  • Form_Load olayındaki Show ifadesini kullanın.

Faydalı Linkler
 > vbnet.mvps.org
 > msdn.microsoft.com
 > vbasicmaster.com
 > www.freevbcode.com
 > planet-source-code.com
 > www.vbturk.net
 > www.mutasyon.net
 
Visual Basic Optimizasyonu Sitesi en iyi 800x600 çözünürlükte görüntülenebilmekte
ve tüm browser'larda sorunsuz çalışmaktadır.