gpt4 book ai didi

.net - 应用程序中的奇怪性能下降

转载 作者:行者123 更新时间:2023-12-03 17:21:18 25 4
gpt4 key购买 nike

我们有一个混合了 .NET 2.0 和 native C++ 的应用程序。在我们的测试中,我们有一个模式可以自动循环一组项目。一个项目打开、运行、关闭、重复。这些步骤中的每一步都需要创建/销毁窗口(准确地说是 winforms)。最近我们在性能上遇到了一些奇怪的行为。运行几个小时后,打开和关闭部分会变慢(阻塞 gui 线程并显示半绘制的屏幕等)。现在很容易将其归结为资源泄漏……但我们正在跟踪句柄和内存,虽然内存略有增长,但没有任何迹象表明存在这种级别的问题。 Handlebars 稳定。所以也许悬空事件处理程序......仍然需要调查。但让我感到困惑的是,关闭应用程序并重新启动它并不能恢复初始性能。它仍然很慢,直到我重新启动操作系统(win XP),然后性能再次开始快速启动。这真的让我感到困惑,因为我认为关闭应用程序将回收所有资源。有什么想法吗?

最佳答案

听起来可能是 GDI 句柄泄漏。 GDI objects垃圾收集器不会自动回收。

.NET Memory Profiler ( http://memprofiler.com/ ) 在跟踪这些方面做得很好(有一个 14 天的试用版)。

你见过这些:

  • Resource Leaks: Detecting, Locating, and Repairing Your Leaky GDI Code
  • Detect and Plug GDI Leaks in Your Code with Two Powerful Tools for Windows XP (有一个 GDI 句柄查看器工具的链接)。
  • 关于.net - 应用程序中的奇怪性能下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1637903/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com