İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

C# Salise İlerletme

UgurOnline19.01.20118 cevap7.592 görüntüleme
2008'den beri159 mesaj
#1
kronometre tarzı ufak bir program yapıyorum. salise çalıştırma kısmında timer'ın interval değerini 10 olarak ayarladım ama standart salise değerinden daha yavaş ilerliyor. bu sorunu nasıl çözebilirim?

teşekkürler
Cevaplar
2007'den beri17 bin mesaj
#2
1 yap milisaniye cinsinde ilerlesin :) 1000 milisaniye = 1 saniye
2008'den beri357 mesaj
#5
Dostum sıkıntın normal, yani bu sıkıntı timer ile ilgili bir durum. timer atıyorum herzamn 10 ms içinde tetiklemez kimi zaman 15 veya 20 de olabilir.çünkü windows arka plandada bir takım iler yapıyor. Esasında işin çok teknik detayı var da kafa ütülemeyim :)
2007'den beri17 bin mesaj
#6
anamur dedi: ↑
Dostum sıkıntın normal, yani bu sıkıntı timer ile ilgili bir durum. timer atıyorum herzamn 10 ms içinde tetiklemez kimi zaman 15 veya 20 de olabilir.çünkü windows arka plandada bir takım iler yapıyor. Esasında işin çok teknik detayı var da kafa ütülemeyim :)
Açıkçası timer'ın hiç bir zaman sapıttığına şahit olmadım.

en güzeli denemek için o andaki tarih saat ve milisaniyeyi sistemden alıp belirlediğin aralıklarka bir yere yazdırırsın aradaki farklara bakarak timer'ın sapıtıp sapıtmadığını anlayabilirsin ama hiç duymadım açıkçası...
2010'den beri112 mesaj
#7
DateTime.Now hızlı olmadığı için bu tür işler için kullanmak doğru değil ve doğru sonuç alınamaz.

http://stackoverflow.com/questions/1561791/optimizing-alternatives-to-datetime-now
http://stackoverflow.com/questions/4075525/why-are-datetime-now-datetime-utcnow-so-slow-expensive

Büyük ihtimal Timer da bu zamanı kullandığından ve pc nin yavaş olması dolayısıyla diğer message queue deki işlemlerin yapılması veya form controllerinin update edilmesi vs. de hesaba katılınca Timer kullanmak çok daha yanlış DateTime.Now kullanmaktan. Bu yüzden Stopwatch kullanılması gerekiyor.
2008'den beri357 mesaj
#8
yanlız bu stopwatch olayını ilk defa gördüm. herhalde framework 4.0 ile gelen bir özellik...
2010'den beri112 mesaj
#9
2.0 dan beri var Stopwatch

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.