随着时间的推移,openGL性能降解的可能原因

Possible Causes of OpenGL Performance Degradation Over Time

本文关键字:性能 openGL 时间      更新时间:2023-10-16

,所以我今天正在驾驶OpenGL引擎,我注意到,如果我将其运行〜一分钟半,我就会开始体验一些大量的帧速率。我要做的第一件事是确保每个帧没有开放分配。在代码检查和单独的配置文件应用程序检查之后,我验证了我没有调用诸如GlGenBuffers()之类的东西或类似的内容。然后,我检查了每次动态分配的可能问题。执行每个帧的代码相对较大,但是渲染管道中似乎没有任何动态分配。我检查了内存使用图的图,甚至似乎没有分配任何内存,除了在这里和那里稍加一点点,我认为这些内存来自程序中的Physx或Openal。

我以为我的CPU或GPU可能是热门节流的(我在笔记本电脑上)。我运行了该程序,直到我经历了性能问题,关闭了该程序并立即再次运行。应用程序重新运行后,性能问题就停止了。我奇怪的是,当我在绩效问题中放回标签时,短时间停止了。

我对这里发生的事情有些困惑。我非常怀疑这是一个驱动程序问题,因为其他游戏正常工作,尽管我没有在另一台计算机上尝试过。我已经运行了一些标准时间的CPU分析,以试图弄清楚代码越缓慢的位置(我知道这些通常是不可靠的,因为GPU独立运行),似乎OpenGL触摸的任何地方都在此之后运行速度较慢。游戏是在运行。

我建议您在您的应用程序上运行OpenGL调试器。如果您有NVIDIA卡,则可以使用Nsight进行视觉工作室或Eclipse,以可视化GPU花费时间。否则,阿皮拉斯过去已经解决了许多问题。

您的问题可能与越来越多的抽奖电话有关吗?