【发布时间】:2013-01-10 02:33:45
【问题描述】:
我没有想到具体的场景,但是当我在考虑我可能想要使用 Timer 而不是 DispatcherTimer 的场景时,这个问题突然闪过我的脑海。
在每次触发计时器事件时我必须执行计算密集型任务,然后对 UI 进行微小修改的场景中,在性能方面是否会更好:
- 使用常规 Timer,然后使用应用程序的 Dispatcher 更改用户界面
- 使用 DispatcherTimer(并且可能在计算上 如有必要,在一些异步后台工作人员中进行密集工作)。
我的猜测是,尽可能长时间地保持 UI 线程畅通会增强用户体验。如果这是可取的,在这种情况下我应该注意什么问题吗?
编辑:
我觉得我的问题不够清楚,所以我将尝试添加一个具体的,尽管是虚构的示例。
假设我必须每 2 分钟读取一次大文件,完成后,我必须向 ListBox 添加一个项目。假设读取/处理文件需要 10-15 秒,在此期间我不做任何 UI 工作。对于这样的事情,最好的方法是什么?
【问题讨论】:
标签: c# wpf silverlight dispatchertimer