首页 > 解决方案 > 更好地理解调度程序对运行时的影响

问题描述

我试图了解的情况如下;

  1. 有一种算法可以通过许多不同的方法和对象。其中一些方法调用调度程序来更新各种 UI 元素。

  2. 执行时间很重要,我正在优化,目标是减少几毫秒。

  3. 出于某种原因,即使它使用 BeginInvoke 和 ApplicationIdle 优先级进行线程化和分派,UI 代码似乎也减慢了我的整体执行时间。我发现改进运行时的唯一方法是分派第一个初始方法调用,该方法调用分支到不同的代码路径。

这里有太多代码要发布。我试图更好地理解的基本现象是为什么我的代码在 UI 线程上执行得更快?

我唯一的想法是,通过调度所有内容,低优先级调度正确地排在其余执行代码的后面。这个对吗?如果是这样,我做错了什么吗?通过在 UI 线程上运行所有内容来优化感觉是错误的。

标签: c#wpfmvvmdispatcher

解决方案


推荐阅读