我在 GDI+ 中使用绘图线/弧线在创建的图形类 .FromImage 方法上进行了一些测试。
出于性能原因,我将其划分为多线程设置(使用多种方法进行测试:New Thread(AddressOf.. or Parallel.For... or New Task..) 我注意到这并没有提高性能。但是,如果我是用测试例程(例如:计算)替换 .Graphics.DrawPath 例程,那么使用多线程时性能会得到真正的提高(见图)这是什么原因以及如何解决?
我创建了四个设置:
在图形上绘图:4 个线程(或任务)上的 4 倍(单独的 graphics.fromimage 上的 40000 个元素)(时间:1 秒 76 毫秒)
在图形上绘图:4x(单独 graphics.fromimage 上的 40000 个元素)串行(时间:959 毫秒)
计算:4个线程(或任务)上的4x(浮点测试计算)(时间:672毫秒)
计算:4x(浮点测试计算)串行(时间:2s 189msec