我有一个 WPF 应用程序,它监视某些进程并将它们的 CPU 和内存利用率绘制成折线图。使用性能计数器类 C# 读取 CPU% 和内存值。该图再次UserControl
包含 a Canvas
,我根据获取的值手动在其中绘制线条。
目前,我在每个图表中使用调度程序计时器,UserControl
并且在每个刻度中,我都在获取新值并绘制它。
问题是当我添加越来越多的要监控的进程时,我的应用程序会占用 CPU,因为有很多更新正在发生。
实现我正在尝试的更好方法是什么?每个过程的详细信息都在单独的选项卡中,并且仅在加载时才会初始化,但是当我想要连续绘图时,在没有视图的情况下停止图不是一个选项。
有没有更好的方法来做到这一点?