WPF 응용 프로그램에 응용 프로그램 내의 텍스트를 200 밀리 초마다 업데이트하는 DispatcherTimer
이 있습니다. 이 프로그램은 일련의 카운터, 시계 및 타이머를 표시합니다.DispatcherTimer가 프로그램 "Stutter"를 야기 함
private DispatcherTimer dispatch = new DispatcherTimer();
public Timer()
{
InitializeComponent();
this.dispatch.Interval = TimeSpan.FromMilliseconds(200);
this.dispatch.Tick += new EventHandler(updateTimer);
}
private void updateTimer(object sender, EventArgs e)
{
loadingImage.RenderTransform = new RotateTransform(counter * 36);
counter++;
try
{
clock.Text = DateTime.Now.ToString(@clockFormat.Text);
}
catch (Exception) { }
try
{
watch.Text = watchCounter.Elapsed.ToString(@watchFormat.Text);
}
catch (Exception) { }
}
DispatcherTimer
가 실행 될 때마다 오전 데 문제는, 내 응용 프로그램에서 "더듬"가 발생합니다. 마치 이벤트 핸들러를 실행할 때마다 프로그램이 조금 뒤처집니다. 이 지연을 제거 할 수있는 방법이 있습니까?
예외가 발생 했습니까? 예방 조치로 try-catch를 추가 했습니까? –
타이머가 멈추거나 UI의 다른 부분에서 타이머가 지연되고 있습니까? 디스패처 타이머의 우선 순위를 높이면보다 일관된 속도로 실행됩니다. [이 질문] (http://stackoverflow.com/questions/14354561/how-to-make-dispatchertimer-events-smoother-in-wpf)을 참조하십시오. –
@mikez 타이머가 계속 유지되지 않으면 UI 스레드가 이미 오버로드 된 것입니다. 말더듬은 과부하 증상 일뿐입니다. – usr