如何用WPF在0.5秒内画出几万个点?我正在编写WPF代码来显示实时绘图,这是一条包含大约10,000个点的线。在我的电脑中显示图片大约需要5秒钟。有没有人有想法让它更快,在0.5秒内?eee类:FrameworkElement{publiceee(){_children=newVisualCollection(this);随机数=newRandom();DrawingVisualdv=newDrawingVisual();使用(DrawingContextdx=dv.RenderOpen()){PendrawingPen=newPen(Brushes.Black,1);双x=rand.Next(300);双y=rand.Next(300);对于(doublei=0;i<1000;i=i+0.1){y=100+rand.Next(100);dx.DrawLine(drawingPen,newPoint(i,x),newPoint(i+1,y));x=y;}}_children.Add(dv);}CharlesPetzold完成了。它在我的主机上更快(<0.3秒),而且这些点甚至是数据绑定!!;)TamirKhason也这样做了,并在此处更深入地介绍了位图样式性能WPF。RicoMariani提供了一些关于3D高性能图形的指示,如果考虑清楚,基本上利用值类型可以提高您的吞吐量。张建中给出了我最喜欢的关于这个主题的教程,3DScatterplot数万个数据点动画和交互。我猜代码示例是1)测试不是真实样本的测试或2)家庭作业。尝试覆盖OnRender并执行:PendrawingPen=newPen(Brushes.Black,1);protectedoverridevoidOnRender(DrawingContextdc){dc.DrawRectangle(Background,null,newRect(RenderSize));双x=兰特。下一步(300);双y=rand.Next(300);for(doublei=0;i或者对于有真实数据的东西,考虑你是否真的需要根据视觉上下文的分辨率显示每个点。(如果你的比例是0-10,你的积分是0.0001,0.00015,所以它们确实是不同的比例)应该选择线条吗?您可以在图像中绘制线条,然后将其用作图像控件的来源。它会绘制得更快,但您失去了与线条交互的能力。您是否考虑过XNA?使用显卡可以加快速度。基于XNA的Monogame活得很好。你可以利用它的特性来解决一些需要巨大图形性能的特殊任务,甚至可以将它的窗口注入到WPFGUI中。以上是C#学习教程:如何用WPF在0.5秒内画出上万个点?所有内容分享,如果对大家有用,需要详细了解C#学习教程,希望大家多多关注---本文整理自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处:
