Chr*_*oph 5 c# performance gdi+
我有一个应用程序在C#中使用GDI +绘制了很多小矩形(大约100万个),性能......不太好.我知道构建很多Rectangle对象来传递它们Graphis.FillRectangle需要一些时间.我也明白,如果Rectangles从一帧到另一帧的变化,我无法避免这种情况,因为它Rectangle被设计成不可变的.因此,我的问题是:是否有可能改善此绘图调用的性能,除非Rectangle必须假定所有s都可见?
先谢谢,Christoph
我建议您使用调用的数组变体:
FillRectangles(Brush brush, Rectangle[] rects);
Run Code Online (Sandbox Code Playgroud)
如果这对你不起作用,因为你需要不同的画笔等,你应该按状态(画笔)对基元进行分组,并在每个画面中绘制数组.快速测试显示性能至少是三倍,即单独绘制的300K矩形感觉像一次性绘制的1M矩形一样不稳定.