gpt4 book ai didi

c++ - 从 Visual Studio 启动时,发布构建速度比启动 "normally"更快

转载 作者:行者123 更新时间:2023-11-30 04:50:01 25 4
gpt4 key购买 nike

我有一个 Qt 应用程序,用于可视化工件。因此我们使用 Qt 的 OpenGL 接口(interface) QGLWidget。在这个应用程序中,我们有时必须加载和可视化大量数据(高达 4GB 的 3D 双点)。然后应用程序变慢,但这并不重要,因为性能并不是真正的问题。渲染一帧通常需要大约 100 毫秒。

我们正在解决的问题如下:在那一刻之后,当程序创建大量数据并加载它时,我们通常需要大量 RAM。当应用程序从 Visual Studio 启动时,内存分配比“正常”启动时快得多。

在任务管理器中我可以看到,增加所需内存的速度非常不同。虽然一个应用程序可以在一秒钟内分配大约 1GB 的内存,但另一个应用程序每秒只能分配大约 50MB。

我的问题是,从 Visual Studio 启动应用程序时有什么区别?两次,我们都使用 VS 的“默认”发布版本。什么会触发此类问题,我如何确定这些问题的根源?

附加信息:此应用程序基于 Qt5。这个应用程序有一个 10 年前的版本,使用 Qt3 和 Qt4 编程。我们没有这个应用程序的来源了。使用 Qt3/4 时,我们不处理这些问题。看起来旧应用程序的行为与使用 VS 启动 Qt5 应用程序时的行为相同。
我们正在使用 Visual Studio 2015 和 Qt5.9.1

我同时跟踪了 CPU 使用率和内存使用率:

使用 Visual Studio:
enter image description here

没有 Visual Studio:
enter image description here

你可以看到,第一个内存大小的增加比第二个快得多。

最佳答案

事实证明,您看到的不同之处在于,当附加调试器时,操作系统/调试器将锁定一些页面,以便调试器可以立即使用它们。这是一个异常(exception)情况,因为您附加了一个调试器,一般不推荐这样做。我相信没有快速解决办法——也许只能以不同的方式使用 opengl。

另请参阅可能具有相同原因的答案:

C++/opengl application running smoother with debugger attached

关于c++ - 从 Visual Studio 启动时,发布构建速度比启动 "normally"更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55164217/

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