【发布时间】:2017-11-30 18:55:32
【问题描述】:
问题
我正在使用 OpenGL 在 C++ 中开发一些程序地形生成。作为 IDE,我使用的是 Microsoft VS2017。我可以毫无问题地运行“实验”。但经过大约两个小时的开发后,程序变慢了。在十分钟左右的时间内,帧率从 100 多下降到 20。不久之后,我的 GPU 无法每秒渲染一帧。启动程序时,加载着色器和链接程序需要很长时间。
可能的原因
在 VS2017 中进行一些调试和分析后,事实证明,超过 98% 的时间 CPU 都在等待 GPU 完成着色器统一操作。这包括找到统一变量的位置以及将三个矩阵加载到统一变量中。
故障排除步骤
我尝试了各种不同的方法来改善这种情况,包括以下几种,但如果不重新启动计算机就无法解决问题
- 将 .exe 和资产复制到另一个文件夹
- 将 .exe 和资产复制到另一个物理设备
- 重新启动 VS2017
- 在 MSI Afterburner 中降低 GPU 和内存时钟
- 检查显卡 VRAM 使用情况
- 关闭后台应用程序
我的电脑
如果这些信息对某人有帮助,那就是:
- Intel© Core© i5-6600K @3,5GHz
- EVGA GeForce GTX 1060 6GB GDDR5
- 微星 Z170-A PRO
- 2x8GB DDR4-2133
- Thermaltake 530W PSU
- RAID1 中的 2x1TB 硬盘(上面有项目)
- 128GB 固态硬盘
- 512GB 硬盘
提前致谢, 埃利亚斯
【问题讨论】:
-
没有看到MCVE,就不可能给你任何有意义的答案。