Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 分析时应用程序速度更快_C++_Qt_Profiling - Fatal编程技术网

C++ 分析时应用程序速度更快

C++ 分析时应用程序速度更快,c++,qt,profiling,C++,Qt,Profiling,我有一个OpenGL Qt应用程序,它在被非常困倦的人分析时表现得很奇怪。当我在没有激活“非常困倦”的情况下执行它时,我的场景渲染速度为15 fps。当我在非常困倦的状态下激活该应用程序的评测时,我的fps会增加很多(在整个分析阶段我会获得96 fps),当我停止分析时,fps会切换回15 fps。我还注意到GUI在分析过程中响应更快 我还注意到,在分析过程中,我的应用程序使用更少的CPU(20%而不是50%) 这是非常令人费解的。正如你所能猜到的,我希望能有这样的表演而不感到困倦!在分析阶段会

我有一个OpenGL Qt应用程序,它在被非常困倦的人分析时表现得很奇怪。当我在没有激活“非常困倦”的情况下执行它时,我的场景渲染速度为15 fps。当我在非常困倦的状态下激活该应用程序的评测时,我的fps会增加很多(在整个分析阶段我会获得96 fps),当我停止分析时,fps会切换回15 fps。我还注意到GUI在分析过程中响应更快

我还注意到,在分析过程中,我的应用程序使用更少的CPU(20%而不是50%)


这是非常令人费解的。正如你所能猜到的,我希望能有这样的表演而不感到困倦!在分析阶段会发生什么事情来“加速”程序?该应用程序是在发布模式下构建的,在这两种情况下都作为独立程序运行。我已经在Internet上搜索了几个小时,但没有结果。

您使用多个线程吗?是的,我有多个线程(大约10个),其中大多数线程95%的时间都在睡眠。您是从IDE运行此应用程序吗?然后我会查看线程之间是否存在同步/通信问题(举个简单的例子,他们为互斥而争吵)。分析开销可能会使线程速度降低一点,这样它们就不会在资源问题上争抢太多,事实上总体上会加快速度。我只在使用大量多线程时出现过这种奇怪的行为,但通常很难找到。系统/平台是什么?这听起来很像是电源管理问题。要真正分析性能从可靠的角度来看,您通常需要一种将系统锁定在特定电源状态(或时钟频率)的方法,或者至少需要捕获当前时钟频率作为测量的一部分。