1

我已经使用 GDI+ 技术在 c# 中开发了一些组件...我正在使用无效函数来重新绘制组件..在做了一些研究并检查了 CPU 利用率之后..我可以看到当调用无效函数时,CPU 使用率突然增加一段时间后它被释放..有时调用组件重绘时这是可以的..但在我的情况下,我制作的组件在高峰时间一次又一次地被调用..突然CPU利用率达到100%.. .和系统似乎挂起..我做了很多代码优化,但似乎无效的方法只是杀死了整个性能..我只想知道..这个方法中实际调用了什么..以及最佳实践是什么充分利用这种方法...

4

1 回答 1

1

1) 使用 Perfview 分析您的应用程序: http: //www.microsoft.com/en-us/download/details.aspx?id= 28567

2) Invalidate 方法不应该实际绘制。它只是告诉操作系统哪些需要重绘。实际绘制的是 OnPaint 方法。检查你的绘图方法。通常,基于 GDI 的应用程序会查询脏区以限制重绘区域。

于 2012-07-27T16:56:34.393 回答