我完全没理解为什么我会得到这个例外,所以如果有人能够如此友好地看待我的项目并提出任何问题的理由那就太好了。我知道很难看到未知的项目,所以即使任何提示也会很好。
问题描述:我已将自己的ZoomControl从WPF移植到StoreApp,并使用它来使用 ScaleTransform 放大/缩小图形。当我在默认/远距离缩放级别上工作时,一切看起来都很好并且没有内存峰值出现,但随着我放大更深非托管内存使用率突然非常高且快速导致OOM异常。我使用dotMemory进行了分析,并尝试隔离与缩放相关的不同部分,包括动画切断和模板简化无效。
我注意到的另一件奇怪的事情是:如果你放大了没有崩溃和alt + tab到任务管理器,你会看到显着的内存使用量下降,那么如果你回到app并且使用鼠标平移内容(不要触摸缩放)你会遇到滞后,并且可以在任务管理器中看到巨大的内存使用量峰值。
奇怪的是,它在一个缩放级别上工作正常并在另一个级别上崩溃,这是令人兴奋的。我只是不明白为什么在放大状态下有如此高的内存使用率。
我正致力于开源项目get here。运行 METRO.SimpleGraph 项目并使用鼠标滚轮放大。