Belli bir senaryoyu aklıma almıyorum, ancak bu soru bir DispatcherTimer üzerinden bir Zamanlayıcı kullanmak isteyebileceğim senaryoları düşünürken aklımdan geçti.Timer vs DispatcherTime için performans
- kullanım a: Bir zamanlayıcı olayı harekete ve ardından kullanıcı arayüzüne minör değişiklikler yaptığınızda yoğun hesaplama gerektiren bir görevi gelip gerçekleştirmek zorunda senaryoda , bu kadar performans açısından daha iyi olurdu Düzenli Zamanlayıcı ve daha sonra uygulamanın Dispatcher'ı
- 'u kullanarak bir DispatcherTimer kullanın (ve muhtemelen hesaplama sırasında yoğun çalışmamam gerekiyor).
Tahminimce, UI iş parçacığı kilidini mümkün olduğunca uzun süre açık tutmak kullanıcı deneyimini artıracaktır. Bu tavsiye edilirse, böyle bir senaryoda bilmem gereken herhangi bir yaka var mı?
DÜZENLEME:
hissettiğim sorum yeterince açık değildi olsun, bu yüzden uydurma örnek olsa denemek ve somut eklemek için gidiyorum.
Her 2 dakikada bir büyük bir dosya okumalıyım ve işim bittiğinde bir ListBox'a bir öğe eklemem gerekiyor. Dosyayı okumayı/işlemeyi 10-15 saniye sürdüğümde, hiçbir UI çalışması yapmıyorum. Böyle bir şey için en iyi yaklaşım ne olurdu?
Belki de sorumu açıklığa kavuşturmalıyım, ancak zaten bir zamanlayıcının ayrı bir iş parçacığı üzerinde çalıştığını ve bu durumda UI'ye dokunmak için bir Dispatcher gerektiğini bildiğimi zaten biliyorum. UI'ye dokunmak zorunda kaldığımda bile bir WPF uygulamasında Zamanlayıcı kullanmanın ne kadar değerli olabileceğini merak ettim. –