gpt4 book ai didi

C#/Silverlight/WPF/快速渲染大量圆圈

转载 作者:太空狗 更新时间:2023-10-29 17:44:03 25 4
gpt4 key购买 nike

我想尽可能快和尽可能频繁地在 silverlight 或 wpf(大约 1000-10000)中渲染大量圆圈或小图形。如果我必须使用 DX 或 OGL,那很好,但我想知道是否首先在这两个框架中的任何一个中执行此操作(阅读:如果答案是仅 WPF 或仅 Silverlight 也没关系)。此外,如果有一种方法可以通过 WPF 访问 DX 并以这种方式在表面上呈现,我也会对此感兴趣。

那么,绘制大量圆圈的最快方法是什么?它们可以尽可能简单,但它们确实需要有一个半径。目前我正在为每个圆使用 DrawingVisual 和 DrawingContext.DrawEllipse() 命令,然后将视觉渲染到 RenderTargetBItmap,但是随着圆数量的增加它变得非常慢。

顺便说一句,这些圆圈每帧都在移动,因此缓存并不是真正的选择,除非您打算建议缓存单个圆圈。 . .但它们的大小是动态的,所以我不确定这是一个很好的方法。

最佳答案

在 Silverlight 3.0+ 中,您很可能会为此使用 WriteableBitmap。在 WPF 中它也可能是一个不错的选择。

我用 Silverlight 编写了两个演示应用程序。它们可能有点问题,但它们证明了这一点。

  1. Hello world application 。绝对可以优化。性能不是很好,但那是因为我做了一些愚蠢的事情。我相信它有 ~2 500 个省略号:

alt text http://img42.imageshack.us/img42/5629/helloworld.jpg

  1. Slide show application 。我不记得这里有多少物体,但它超过 10 000 个。

alt text http://img11.imageshack.us/img11/5264/slideshowa.jpg

关于C#/Silverlight/WPF/快速渲染大量圆圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2337561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com