Delphi reaksiyon süresi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
incal99
Üye
Mesajlar: 23
Kayıt: 20 Eki 2005 02:33

Delphi reaksiyon süresi

Mesaj gönderen incal99 »

Merhaba,

DElphi üzerinde yazdığım programlarda parallel olarak yapılan fazla sayıda işlem var, Örneğin network üzerinden gelen bilgilerin ekranda güncellenmesi, kaydedilmesi, Aynı anda veri/reçete giriş ekranları, ve Timer komponentine bağlı bazı kodlar, Bütün bunları mümkün olduğunca küçük ve bölünebilir parçalar halinde programlamaya çalışıyorumki birbirlerini çok fazla bloke etmesinler: Fakat bazı durumlarda örneğin bütün bunlar çalışırşken Buttonclick eventine bağlı ve fazla hesaplama gerektiren bir kod çağırmam gerekiyor, ve bu koduda bölüp 2 parçada yada 3 parçada çalıştırmam mümkün olamıyor,
Bu sonuç olarak programın reaksiyon süresini zayıflatıyor, Örneğin diğer ekranlardaki veri girişi ekranlarındaki klavye girişi yavaşlıyor, Burada dikkat edilmesi gerekli basit kurallar var mı yoksa öğrenimi biraz daha zor ve zaman alıcı sisemler mi önerilebilir : (örneğin farklı threadler ile çalışma, programlama gibi)

Iyi çalışmalar.

Incal99
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Cevabını vermişsiniz.. yoğun işlemleri Thread'lere almak...
Resim
Resim ....Resim
incal99
Üye
Mesajlar: 23
Kayıt: 20 Eki 2005 02:33

Mesaj gönderen incal99 »

Şu anda beni en çok zorlayan amatörce kullandığım timer componenti, Bu komponenti 100ms de bir çağırmama rağmen içindeki kod biraz şiştiği zaman, öyle yoğunda bir kod olmamasına rağmen Edit komponentinin klavye reaksiyonunu yavaşlatıyor.

Thread programlaması ile ilgili kaynak tansiye edebilir misiniz?

Incal99
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Thread sizin için vazgeçilmez bir hal aldıysa, basit işlemler yaparak deneme projeleri yapınız ve konuyu kavramaya çalışınız.

@sabanakman'ın örneği ve @Murat DİCLE'nin açıkalamaları size kapı açacaktır.

bkz. viewtopic.php?p=103848&highlight=tthread#103848
Resim
Resim ....Resim
incal99
Üye
Mesajlar: 23
Kayıt: 20 Eki 2005 02:33

Mesaj gönderen incal99 »

Çok teşekkürler.


Incal99
akdatilla
Üye
Mesajlar: 292
Kayıt: 02 Nis 2006 06:04
Konum: Antalya

Re: Delphi reaksiyon süresi

Mesaj gönderen akdatilla »

incal99 yazdı:Merhaba,

DElphi üzerinde yazdığım programlarda parallel olarak yapılan fazla sayıda işlem var, Örneğin network üzerinden gelen bilgilerin ekranda güncellenmesi, kaydedilmesi, Aynı anda veri/reçete giriş ekranları, ve Timer komponentine bağlı bazı kodlar, Bütün bunları mümkün olduğunca küçük ve bölünebilir parçalar halinde programlamaya çalışıyorumki birbirlerini çok fazla bloke etmesinler: Fakat bazı durumlarda örneğin bütün bunlar çalışırşken Buttonclick eventine bağlı ve fazla hesaplama gerektiren bir kod çağırmam gerekiyor, ve bu koduda bölüp 2 parçada yada 3 parçada çalıştırmam mümkün olamıyor,
Bu sonuç olarak programın reaksiyon süresini zayıflatıyor, Örneğin diğer ekranlardaki veri girişi ekranlarındaki klavye girişi yavaşlıyor, Burada dikkat edilmesi gerekli basit kurallar var mı yoksa öğrenimi biraz daha zor ve zaman alıcı sisemler mi önerilebilir : (örneğin farklı threadler ile çalışma, programlama gibi)

Iyi çalışmalar.

Incal99
Merhaba,
Bence senin problemini thread olayı çözmez. Eğer bir butonclick olayında yüklü miktarda işlemi aralıksız olarak yapıyorsan ekran donacaktır (çift çekirdekli işlemci değilse :)). Eğer butonclick procedure içinde bir döngün varsa bu döngünün içinde Application.ProcessMessages; komutunu çalıştırarak windowsa nefes aldırabilirsin. Bu komutun bir yan etkisi olarak döngün yavaş çalışabilir. Bunu engellemek içinde bir sayaç kullanmanı tavsiye ederim. Döngü içerisinde sayaç değerini sürekli arttırarak 10 kere iş yap bir kere nefes al diyebilirsin :)).

Kolay gelsin.
Cevapla