OpenGL着色器统一变得更慢 问题 P>我用OpenGL开发C++中的一些程序地形。作为一个IDE,我使用的是Microsoft VS2017。我可以毫无问题地进行“实验”。但是经过大约两个小时的开发,程序的速度减慢了。在大约十分钟内,帧率从100多降到20。不久之后,我的GPU无法每秒渲染一帧。启动程序时,加载着色器并链接程序需要很长时间 可能原因
在VS2017内进行了一些调试和评测之后,结果表明,CPU在98%以上的时间内等待GPU完成着色器统一操作。这包括找到均匀变量的位置,并将三个矩阵加载到均匀变量 故障排除步骤 我尝试了各种不同的方法来改善这种情况,包括以下方法,但如果不重新启动计算机,我就无法解决问题OpenGL着色器统一变得更慢 问题 P>我用OpenGL开发C++中的一些程序地形。作为一个IDE,我使用的是Microsoft VS2017。我可以毫无问题地进行“实验”。但是经过大约两个小时的开发,程序的速度减慢了。在大约十分钟内,帧率从100多降到20。不久之后,我的GPU无法每秒渲染一帧。启动程序时,加载着色器并链接程序需要很长时间 可能原因,c++,opengl,graphics,gpu,C++,Opengl,Graphics,Gpu,在VS2017内进行了一些调试和评测之后,结果表明,CPU在98%以上的时间内等待GPU完成着色器统一操作。这包括找到均匀变量的位置,并将三个矩阵加载到均匀变量 故障排除步骤 我尝试了各种不同的方法来改善这种情况,包括以下方法,但如果不重新启动计算机,我就无法解决问题 将.exe和资源复制到另一个文件夹 将.exe和资源复制到另一个物理设备 重新启动VS2017 减少MSI加力装置中的GPU和内存时钟 检查图形卡VRAM的使用情况 关闭后台应用程序 我的电脑 如果此信息对某人有帮助,请参阅:
- 将.exe和资源复制到另一个文件夹
- 将.exe和资源复制到另一个物理设备
- 重新启动VS2017
- 减少MSI加力装置中的GPU和内存时钟
- 检查图形卡VRAM的使用情况
- 关闭后台应用程序
- 英特尔©核心©i5-6600K@3,5GHz
- EVGA GeForce GTX 1060 6GB GDDR5
- MSI Z170-A专业版
- 2x8GB DDR4-2133
- Thermaltake 530W PSU
- RAID1中的2x1TB硬盘(包含项目)
- 128GB固态硬盘
- 512GB硬盘
glGen…
/glCreate…
必须通过匹配的glDelete…
进行平衡。对于代码中每次使用new
,都必须有一个平衡delete
(对于new…[]
必须有一个delete[].
)
如果您将对象推入容器(如std::vector
、std::list
、std::map
等),请确保您也执行垃圾处理,即处置不再使用的对象。如果看不到垃圾,就不可能给您任何有意义的答案。