问题来了。我继承了一个大型的C++ 3D图形代码库(带有一些着色代码)。程序在崩溃前运行了大约1到5分钟。
问题数据。使用系统工具,人们可以看到VRAM内存使用量在程序启动后急剧上升,这将导致崩溃。GTT内存的使用情况也是如此(虽然峰值没有VRAM那么引人注目)。
发布于 2017-03-20 20:10:09
__FILE__和__LINE__ )。对不起,这是一个半截的回答,但太大了,不能发表评论。我希望它至少给你一个好的起点。
发布于 2017-03-23 17:11:24
假设您的代码有几个可以分配/释放GPU内存的位置,但是您不知道哪个位置泄漏。也许您可以尝试在代码中添加一个GPU内存监视器。
在代码中分配GPU内存时,在全局定义的数组中插入返回的缓冲区句柄、缓冲区大小、函数/文件名(甚至更好的是堆栈跟踪)。当GPU内存被释放时,删除从该数组释放的缓冲区句柄。运行应用程序一段时间,并在其崩溃之前退出。离开前输出数组的内容。它显示了有关未释放的GPU内存的信息。您可能会看到一些模式导致您了解如何修复“泄漏”。
https://computergraphics.stackexchange.com/questions/4882
复制相似问题