Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检测UI线程是否已在WPF中完成工作_C#_Wpf_Multithreading_Performance Testing - Fatal编程技术网

C# 如何检测UI线程是否已在WPF中完成工作

C# 如何检测UI线程是否已在WPF中完成工作,c#,wpf,multithreading,performance-testing,C#,Wpf,Multithreading,Performance Testing,我需要测量WPF多线程应用程序的性能,结果如下: 1.按钮单击在UI中触发->UI线程开始处理它 2.UI线程在后台启动另一个线程,该线程在后台异步执行某些操作,并在准备就绪时将结果传递回UI线程 3.发生数据绑定 4.渲染发生 线程的数量对我来说是已知的,顺序是未知的。 如何测量按钮单击和渲染结束之间的时间?UI线程是否在完成时触发事件或引发属性?如果没有,我能去吗? 欢迎提供任何帮助。您必须查看,尤其是穿孔机和视觉轮廓仪。 在VisualProfiler上,您可以看到“应用程序CPU使用情况

我需要测量WPF多线程应用程序的性能,结果如下:
1.按钮单击在UI中触发->UI线程开始处理它
2.UI线程在后台启动另一个线程,该线程在后台异步执行某些操作,并在准备就绪时将结果传递回UI线程
3.发生数据绑定
4.渲染发生

线程的数量对我来说是已知的,顺序是未知的。 如何测量按钮单击和渲染结束之间的时间?UI线程是否在完成时触发事件或引发属性?如果没有,我能去吗?
欢迎提供任何帮助。

您必须查看,尤其是穿孔机和视觉轮廓仪。 在VisualProfiler上,您可以看到“应用程序CPU使用情况详细信息”,其中第一部分是:

渲染(MediaContext)在渲染过程中发生。这种方法 最终调用每个元素的OnRender方法,非常有用 了解所有元素的OnRender总成本

在上执行渲染指令时发生渲染线程 渲染线程。这对于检测渲染边界非常有用 应用程序

希望这有帮助。

您必须查看,尤其是穿孔机和视觉轮廓仪。 在VisualProfiler上,您可以看到“应用程序CPU使用情况详细信息”,其中第一部分是:

渲染(MediaContext)在渲染过程中发生。这种方法 最终调用每个元素的OnRender方法,非常有用 了解所有元素的OnRender总成本

在上执行渲染指令时发生渲染线程 渲染线程。这对于检测渲染边界非常有用 应用程序


希望这有帮助。

我在以下网站上找到了一些可能有用的东西:

我们不能直接访问渲染线程,但WPF确实提供了一个 间接接入点,即通过 CompositionTarget.Rendering事件。此事件通常在最短时间内发生 监控刷新率(通常为每秒60次),无论是否存在 要呈现或不呈现的任何新内容。它主要用于定制 需要以最快的速度生成显示更新的动画 监视器可以显示它们


我在以下方面发现了一些可能有用的东西:

我们不能直接访问渲染线程,但WPF确实提供了一个 间接接入点,即通过 CompositionTarget.Rendering事件。此事件通常在最短时间内发生 监控刷新率(通常为每秒60次),无论是否存在 要呈现或不呈现的任何新内容。它主要用于定制 需要以最快的速度生成显示更新的动画 监视器可以显示它们