我有一个WPF应用程序,它监控某些进程并将它们的CPU和内存使用情况绘制成折线图。使用C#中的性能计数器类读取CPU%和内存值。图形是一个包含Canvas的UserControl,我手动绘制线条以匹配获取到的值。
目前,我在每个Graph UserControl中使用Dispatcher定时器,在每个tick中获取新值并绘制它。
问题在于,当我添加更多要监视的进程时,我的应用程序会消耗CPU,因为有很多更新正在发生。
有什么更好的方法来实现我所企图的吗?每个进程的详细信息都在单独的选项卡中,并且仅在加载时初始化,但对于我来说,当选项卡不在视图中时停止绘图不是一个选项,因为我需要连续绘图。
有更好的方法吗?
目前,我在每个Graph UserControl中使用Dispatcher定时器,在每个tick中获取新值并绘制它。
问题在于,当我添加更多要监视的进程时,我的应用程序会消耗CPU,因为有很多更新正在发生。
有什么更好的方法来实现我所企图的吗?每个进程的详细信息都在单独的选项卡中,并且仅在加载时初始化,但对于我来说,当选项卡不在视图中时停止绘图不是一个选项,因为我需要连续绘图。
有更好的方法吗?