我希望在Silverlight或WPF中尽可能快地渲染大量圆形或小图形(约1000-10000个)。如果必须使用DX或OGL,那也可以,但我想先在这两个框架中尝试一下(即:如果答案只适用于WPF或Silverlight,那也没关系)。此外,如果有一种方法可以通过WPF访问DX并以这种方式呈现,则我也会感兴趣。
那么,画很多圆的最快方法是什么?它们可以尽可能简单,但确实需要半径。目前,我正在使用DrawingVisual和DrawingContext.DrawEllipse()命令来绘制每个圆,然后将可视化效果渲染到RenderTargetBItmap中,但随着圆的数量增加,速度变得非常慢。
顺便说一下,这些圆在每帧中移动,因此除非您建议缓存每个圆,否则缓存不是一个选项。但是它们的大小是动态的,所以我不确定这是否是一个好方法。
那么,画很多圆的最快方法是什么?它们可以尽可能简单,但确实需要半径。目前,我正在使用DrawingVisual和DrawingContext.DrawEllipse()命令来绘制每个圆,然后将可视化效果渲染到RenderTargetBItmap中,但随着圆的数量增加,速度变得非常慢。
顺便说一下,这些圆在每帧中移动,因此除非您建议缓存每个圆,否则缓存不是一个选项。但是它们的大小是动态的,所以我不确定这是否是一个好方法。