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