作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在写 WPF显示实时图的代码,它是一条包含大约的连接线10,000 点。在我的电脑中显示一张图片大约需要 5 秒钟。有没有人有办法让它更快并在 0.5 秒内完成?
class eee : FrameworkElement
{
public eee()
{
_children = new VisualCollection(this);
Random rand = new Random();
DrawingVisual dv = new DrawingVisual();
using (DrawingContext dx = dv.RenderOpen())
{
Pen drawingPen = new Pen(Brushes.Black, 1);
double x=rand.Next(300);
double y = rand.Next(300);
for (double i = 0; i < 1000; i = i + 0.1)
{
y = 100 + rand.Next(100);
dx.DrawLine(drawingPen, new Point(i, x), new Point(i + 1, y));
x = y;
}
}
_children.Add(dv);
}
最佳答案
Charles Petzold正是这样做的。它在我的主机上甚至更快(< 0.3 秒),而且点甚至是数据绑定(bind)!! ;)
Tamir Khason也这样做,使用线条并更深入地了解位图样式性能 WPF here .
Rico Mariani对 3D 高性能图形有一些指导,如果考虑周到,基本上利用值类型可以提高您的吞吐量。
Jianzhong Zhang给出了我最喜欢的关于这个主题的新教程,3D 散点图,数万个数据点动画和交互式。
关于c# - 如何在0.5秒内用WPF绘制万点线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1150060/
我是一名优秀的程序员,十分优秀!