Program hızı hakkında ! [Çözüldü]
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Program hızı hakkında ! [Çözüldü]
Merhaba arkadaşlar cevaplar için öncelikle teşekkür ederim.
Arkadaşlar sanırım benim yaptığım programlar henüz başında olmasına rağmen çok yavaş açılıyorlar (AnaForum unitinde yaklaşık 1000 satır kod var şuanda) açılması 3 5 saniye civarında sürüyor bu açılma işlemini hızlandırabilirmiyim. Hızlandıramazsam açılışta bir loading olayı yapabilirmiyim ?
Arkadaşlar sanırım benim yaptığım programlar henüz başında olmasına rağmen çok yavaş açılıyorlar (AnaForum unitinde yaklaşık 1000 satır kod var şuanda) açılması 3 5 saniye civarında sürüyor bu açılma işlemini hızlandırabilirmiyim. Hızlandıramazsam açılışta bir loading olayı yapabilirmiyim ?
En son ByDeniS tarafından 19 Ağu 2010 11:52 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Program hızı hakkında !
Formun ilk açılı olaylarında (oncreate,onactive,onshow) çok yüklenmeyin.
Re: Program hızı hakkında !
Haklısınız bunun bende farkındayım ama create active yada show eventlerinde ayar yükleme işlemleri yapıyorum ve network tabanlı çalışıyorum.G.Arkas yazdı:Formun ilk açılı olaylarında (oncreate,onactive,onshow) çok yüklenmeyin.
1. Açılşta ini dosyasından 32 satırlık ayarları yükletiyorum (checkbox vs vs checking gibi olaylar ve bunların checking=true olayında gerçekleşen olaylar)
2. Network'taki bilgisayarları tarayıp socket ile sorgulama yolluyorum.
Programı kasmaması için kendim özel procedureler oluşturdum ve create eventine bu procedure'leri koydum procedureleri işleterek tüm yükleme işlemlerini eş zamanlı yapıyorum. Bunun dışında başka ne gibi bir yol izleyebilirimki.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Program hızı hakkında !
Şöyle yapsanız nasıl olur setup dosyaları gibi bir thread oluşturup açılıştan sonra ekrana bir form getirin ve tarama(network) işlemlerini kullanıcıya bırakın antivirüsler gibi yada bir timer koyun açıldıktan 15/20 saniye sonra işlemler başlasın işlemlerin sonunda da timer i deaktif edin ve programın stabil çalımasını sağlayın
Şunları mutlaka inceleyin
Thread/MultiThread
İyi çalışmalar.
Şunları mutlaka inceleyin
Thread/MultiThread
İyi çalışmalar.
Re: Program hızı hakkında !
Güzel diyorsunuzda ikinci metnimdede gelittiğim gibi ayarların yüklemesinde ve network taramasından kullanıyorum, ama ayarları setup dosyası halinde nasıl yüklemem gerekiyor bir ayar açık yada kapalı olarak belirlenmişse açılışta o ayarı kontrol edip sonucuna göre işlem yapıyor. bunu setup dosyaları gibi bir form üzerinde yaptırmam mantıksız geliyor bana yada anlatmak istediğiniz anlayamadım. Network olayına gelince bu olay isteğe bağlı yapma gibi bir şansım yok server client arası iletişim sağlanabilmesi için network taraması açılışta yaptırılması gerekiyor ve belirli timer aralıklarıyla refresh yapılıyor. Açılma hızı dışında bir problem yok bunu başka bir yolla aşma ihtimalim varmı.
Benim aklıma loading olayı geldi eset programın açılıştaki karşılama ekranı gibi !
Cevapbınız için teşekkür ederim.
Benim aklıma loading olayı geldi eset programın açılıştaki karşılama ekranı gibi !
Cevapbınız için teşekkür ederim.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Program hızı hakkında !
Network taraması nedir ne işe yarar ? Neden ihtiyaç duydunuz ?
Re: Program hızı hakkında !
Bağlı olduğumuz ağ üzerindeki bilgisayarları tespit ediyor, tespit işlemi bittikten sonra bu bilgisayarlar oluşturduğum bir fonksiyon ile veri yolluyorum. Network işlemi bundan ibaret. Tabi veri yolladığım bilgisayarlar geri dönerse (buda client mevcutsa demek) yeni bir işleme geçiyor ve ayar dosyası yolluyorum işlem devamında (ayar dosyası 32 satırlık bir ini dosyasıdır içerisinde 1 ve 0 lardan oluşan integer ayar değerleri var (true ve false karşılığı))Battosai yazdı:Network taraması nedir ne işe yarar ? Neden ihtiyaç duydunuz ?
Network işlemi bundan ibaret ama bunun program açılışında 1 saniye gibi bir etkisi oluyor. Bunun dışında ini dosyasından ayar yükleme ve bu ayarları işletme kısmı uzun sürüyor 5 saniyede gerisi sürüyor ve yazımdan sonra inceledim sadece bu ayarları kontrol ve ayarların gelen sonuçlarına göre işletmek için yazdığım kodlar kısaltılmış şekilde 800 satır civarı. İşlemler registry ve ini işlemleri bunların karşılığı olarak listbox'lara yazma images'e resimler yükleme checkbox ve radiobox'ları checked=true yapmak gibi bir takım normal delphi materyallerinin işletilmesi.
Bu arada dikkat ettiğim hızlandırma için faydalı bir kaç koşul.
1. Otomatik Form Oluşturmama: dpr dosyasında program çalıştırılırken Application.CreateForm olayını teke düşürdüm ve sadece ana formu create ediyorum.
2. Mümkün Olduğunca Windows API’lerini Tercih Ediyorum
3. Küçük Fonskiyonlar İçin “inline” Direktifini Kullanıyorum
4. FastMM Kullanıyorum
5. Kodları Yazarken Disiplinline Dikkat Ediyorum
6. Basm İle Optimizasyon Yapmaya Çalışıyorum : Basm yani Delphi içinde assembler kullanarak bazı önemli yerleri optimize etmeye çalışıyorum.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Program hızı hakkında !
SplashScreen'den bahsetmiyor musunuz ?Hızlandıramazsam açılışta bir loading olayı yapabilirmiyim ?

Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
'Yükseldikçe küçülen bir uçurtma..'
Re: Program hızı hakkında !
Evet ama daha önce bu tür bir çalışma yapmadığım için bu konudaa hiç bir bilgim yok neredeyseqamyoncu yazdı:SplashScreen'den bahsetmiyor musunuz ?Hızlandıramazsam açılışta bir loading olayı yapabilirmiyim ?

·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Program hızı hakkında !
Kod: Tümünü seç
var
SplashForm : TForm;
begin
SplashForm := Tform3.Create(Application);
SplashForm.Show;
SplashForm.Update;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
SplashForm.Hide;
SplashForm.Free;
Application.Run;
http://delphiturkiye.com/forum/viewtopi ... een#p55446
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
'Yükseldikçe küçülen bir uçurtma..'
Re: Program hızı hakkında !
@qamyoncu : Çok teşekkür ederim allah razı olsun, istediğim ama ne istediğimi bilmediğim şeyi bulmama yardımcı oldu
Bu arada dpr dosyasına bu işlemi yaptığım zamanda ana form create edenekadar splash olayı gerçekleşiyor gerçekleşmesine velakin bu sefer programda kasma yaptı bende bu yöntemi değiştirerek splash olayını ana form'un create olayında kullandım daha verimli ve sağlıklı olduğuna inanıyorum. Splash olayını dpr'de değilde anaform'un create eventinden kullanmam herhangibir probleme yol açabilirmi ilerleyen safhalarda bunu merak ettim ?
Saygılarımla hayırlı ramazanlar.

Bu arada dpr dosyasına bu işlemi yaptığım zamanda ana form create edenekadar splash olayı gerçekleşiyor gerçekleşmesine velakin bu sefer programda kasma yaptı bende bu yöntemi değiştirerek splash olayını ana form'un create olayında kullandım daha verimli ve sağlıklı olduğuna inanıyorum. Splash olayını dpr'de değilde anaform'un create eventinden kullanmam herhangibir probleme yol açabilirmi ilerleyen safhalarda bunu merak ettim ?
Saygılarımla hayırlı ramazanlar.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Program hızı hakkında ! [Çözüldü]
Tam olarak bi fikrim yok ama daha verimli olmuşsa ve işini gördüyse sorun çözülmüş demektir şuanlık en azından 

Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
'Yükseldikçe küçülen bir uçurtma..'
Re: Program hızı hakkında ! [Çözüldü]
Teşekkür ederim tekrar allah razı olsun.qamyoncu yazdı:Tam olarak bi fikrim yok ama daha verimli olmuşsa ve işini gördüyse sorun çözülmüş demektir şuanlık en azından
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·