c# - 更好地理解调度程序对运行时的影响
问题描述
我试图了解的情况如下;
有一种算法可以通过许多不同的方法和对象。其中一些方法调用调度程序来更新各种 UI 元素。
执行时间很重要,我正在优化,目标是减少几毫秒。
出于某种原因,即使它使用 BeginInvoke 和 ApplicationIdle 优先级进行线程化和分派,UI 代码似乎也减慢了我的整体执行时间。我发现改进运行时的唯一方法是分派第一个初始方法调用,该方法调用分支到不同的代码路径。
这里有太多代码要发布。我试图更好地理解的基本现象是为什么我的代码在 UI 线程上执行得更快?
我唯一的想法是,通过调度所有内容,低优先级调度正确地排在其余执行代码的后面。这个对吗?如果是这样,我做错了什么吗?通过在 UI 线程上运行所有内容来优化感觉是错误的。
解决方案
推荐阅读
- python-3.x - 应用程序工厂模式:AttributeError:“元组”对象没有属性“shell_context_processor”
- php - 我遇到了选择选项和值的问题
- javascript - 使用 Highcharts 的条形图的单击事件不起作用?
- python - 如何使 pipenv 安装
使用防火墙的 SSL 证书? - python - 如何在 Python 中读取、操作和写入一系列(少于 8 位)字节数组?
- c++ - 当程序在 WebGL 中使用 C++ Native Addon 和 gl gl.texImage2D 时,电子的渲染器进程崩溃
- rust - Rust 打印选项自定义结构
- r - 设置为零行值情人而不是 rowmean
- angular - Angular Reactive Forms - 带有文本搜索和切换的过滤列表
- python - 如何获得随机森林分类器中“预测”预测的类的“预测概率”?