Dispatcher.Invoke()方法,UI线程会根据设置的优先级进行绘制,易造成线程独占而引起鼠标点击事件无响应等问题。
DispatcherTimer本质是一个定时器,只不过运行在UI线程上,Interval设置合理(如50ms,则1秒有20帧,满足动画的视觉要求),则不会独占UI线程引起卡顿问题。类似于处理器分时间片,每秒都进行绘制与事件响应等工作,让用户察觉不到卡顿。也十分适合有多个GUI任务需要同时绘制时的使用。
Dispatcher.Invoke()方法,UI线程会根据设置的优先级进行绘制,易造成线程独占而引起鼠标点击事件无响应等问题。
DispatcherTimer本质是一个定时器,只不过运行在UI线程上,Interval设置合理(如50ms,则1秒有20帧,满足动画的视觉要求),则不会独占UI线程引起卡顿问题。类似于处理器分时间片,每秒都进行绘制与事件响应等工作,让用户察觉不到卡顿。也十分适合有多个GUI任务需要同时绘制时的使用。