1
2
这听起来不像是一个漏洞,更像是一个驱动程序优化,GPU保存在一个内存块上(VertexBuffer、纹理等),以防再次需要它。如果您运行应用程序一段时间,它是否会一直分配越来越多的内存,直到设备最终耗尽内存?
不幸的是,第一代iPhone3G没有对顶点缓冲对象(vbo)的适当支持,它们被API公开,但它们的工作方式与普通软件顶点缓冲完全相同。这意味着无论何时你打电话
唯一可以将内存“泄漏”到OpenGL的方法是反复分配各种缓冲区对象(纹理对象、顶点缓冲区对象、帧缓冲区对象等),而不释放它们,就像在每个帧中这样:
你最终会失去记忆。我在用
|
2
0
检查它是在模拟器上还是在iPhone设备上。仪器/泄漏可以并将在模拟器上报告误报,在设备上不会遇到。 |
3
0
我在IRC的一些人的帮助下解决了这个问题。问题最终是我在应用程序中线程处理的方式。通过将GL和游戏更新循环移动到同一线程,问题就消失了,我不知道为什么另一种方法会导致内存分配,但问题得到了解决。 |
TheKing · 为什么数组的地址可以有负值? 2 年前 |
yurnero · MATLAB:“加载”一个快速访问功能 6 年前 |
joe · 一页可以同时在两个工作集中吗? 6 年前 |
Jaques · “.exe”已触发断点 6 年前 |
adn bps · 在函数中修改变量的高效内存方法 6 年前 |
Gauraang Khurana · C语言中分段错误的不稳定行为 6 年前 |
Rajesh K · 如何查找设备中存在的广告垃圾? 6 年前 |