gpt4 book ai didi

c# - 定时器与 DispatcherTimer 的性能

转载 作者:太空狗 更新时间:2023-10-29 17:49:49 26 4
gpt4 key购买 nike

我的脑海中没有特定的场景,但是当我在考虑我可能想在 DispatcherTimer 上使用 Timer 的场景时,我突然想到了这个问题。

在我必须在计时器事件触发时执行计算密集型任务,然后对 UI 进行修改的情况下,在性能方面是否更好:

  1. 使用常规计时器,然后使用应用程序的 Dispatcher 来更改用户界面
  2. 使用 DispatcherTimer(并可能进行我的计算如有必要,在一些异步后台工作人员中进行密集工作)。

我的猜测是,尽可能长时间保持 UI 线程畅通会增强用户体验。如果这可取的,在这种情况下我应该注意什么问题吗?

编辑:

我觉得我的问题不够清楚,所以我将尝试添加一个具体的示例,尽管是虚构的示例。

假设我必须每 2 分钟读取一个大文件,完成后,我必须将一个项目添加到 ListBox。假设读取/处理文件需要 10-15 秒,在此期间我没有进行任何 UI 工作。对于这样的事情,最好的方法是什么?

最佳答案

要点:

to perform come computationally intensive task

这将指示使用 DispatcherTimer。它的存在主要是为了在主线程上执行小任务,避免创建另一个线程。

如果您使用 DispatcherTimer 来启动 Backgroundworker,那么您就绕过了它的主要目的。

所以这里只使用一个普通的定时器。

关于c# - 定时器与 DispatcherTimer 的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8374431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com