更好地了解调度程序对运行时的影响

时间:2019-09-15 23:46:10

标签: c# wpf mvvm dispatcher

我想了解的情况如下;

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

  2. 执行时间很重要,我正在优化目标,以节省几毫秒的时间。

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

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

我唯一的想法是,通过调度所有内容,低优先级的调度将正确地排在其余执行代码的后面。它是否正确?如果是这样,我做错了什么?通过在UI线程上运行所有内容,感到难以接受。

0 个答案:

没有答案