WPF中的高性能小区控制
本文关键字:小区 控制 高性能 WPF | 更新日期: 2023-09-27 18:06:40
我正在做一些工作,我需要开发一个控制,它应该是一个简单的图形,显示几个点和两条边。
我的问题是,我需要显示多达16k点,更新率为30赫兹。有人做过类似的事情吗?,有什么建议吗?
例如,是否从FrameworkElement或Control(在本例中是ItemsControl)继承。如果控件继承自frameworkelement,它在OnRender方法中绘制点的性能可能会更好,但我将错过继承自control的模板功能。或者是否存在另一个控件可以做到这一点?
提前感谢您的时间。
我最终使用了InteropBitmap,它是WPF中最快的位图渲染类。
它允许您映射您想要绘制的图像(在内存中),然后将其读取为图像。这是完美的,因为我需要在屏幕上绘制点。
我得到了很好的性能(几乎50Hz的20k点),我也使用PLINQ来更新内存中的点。
试着阅读ZoomableCanvas。我相信它能解决你的问题。您可以在ZoomableCanvas内将所有点渲染为小矩形/椭圆。