首页 > TAG信息列表 > DrawingVisual
WPF开发随笔收录-DrawingVisual绘制高性能曲线图
一、前言 项目中涉及到了心率检测,而且数据量达到了百万级别,通过WPF实现大数据曲线图时,尝试过最基础的Canvas来实现,但是性能堪忧,而且全部画出来也不实际。同时也尝试过找第三方的开源库,但是因为曲线图涉及到很多细节功能,第三方的肯定也没法满足。没办法,只能自己实现,上网查找后发现DWPF 性能优化-高刷新绘图
背景介绍 笔者之前接到一个需求,需要在WPF上实时显示病人实时的生理信号(心电图等)。团队开发,需求很快做完了(Unit test 效果图如下) 但是后来发布到产品上发现,资源占用比本机的要大。本地监控后,发现随着时间推移内存和Page Faults 都在增长,如果在产品上长期(几个月甚至更长时间WPF 使用DrawingVisual和DispatchFrame快速提升绘图速度
参考资料: https://www.jianshu.com/p/d308641498aa https://zhuanlan.zhihu.com/p/37167062 这是一个来自很久以前的代码 通过DrawingVisual和DispatchFrame快速提升绘图速度 代码里有两种,一种是组合线形成矩形,另外一种是直接生成矩形,两者不同就是是否可以精确控制某个矩形。wpf 中 Ellipse 对象对动画性能的影响
vs2019 .NetFramework 4.8 win10-64 1909 接手一个wpf项目,某窗口中包含大量的 Shape 对象(线,矩形,圆形等). 这些内容要匀速的向左平移,类似于游戏"太鼓达人". 方案是使用 CompositionTarget.Rendering 在每帧中设置内容的 TranslateTransform.X 问题是匀速平移时画面经