【发布时间】:2009-05-18 15:48:41
【问题描述】:
我在渲染对象层次结构时使用DashStyle.Dash。我的应用程序广泛使用Graphics.Transform,我发现在某些比例值(包括100% 的比例)和某些旋转角度下,Graphics.DrawLine 在使用带有DashStyle.Dash 的笔时会抛出OutOfMemoryException。使用谷歌我发现这是一个well-knownproblem。微软告诉我们这不是blockingissue。到目前为止,我还没有找到解决这个问题的方法。
我有什么选择?
【问题讨论】:
-
我假设您正在处理钢笔?并且提到的一篇文章说要避免 Graphics.DrawLines 中的重复点。您使用的是单数版本,对吗?您可能会发布一些代码;也许这将有助于获得一些答案。
-
你肯定要处理你所有的 GDI+ 对象。我遇到了很多问题,但其中一个是内存不足异常。
-
另一个想法是使用分析器查看代码可能发生的情况,例如内存泄漏,并帮助您解决问题。
-
我认为这里的内存是显卡的内存。而且我认为问题在于我在 WM_PAINT 事件之间缓存了笔,有些人认为这是一个坏主意。
标签: .net winforms gdi+ out-of-memory pen