如果我在程序退出时未能删除顶点缓冲区对象会发生啥?

Posted

技术标签:

【中文标题】如果我在程序退出时未能删除顶点缓冲区对象会发生啥?【英文标题】:What happens if I fail to delete a Vertex Buffer Object when my program quits?如果我在程序退出时未能删除顶点缓冲区对象会发生什么? 【发布时间】:2011-10-12 20:03:47 【问题描述】:

在我读过的所有关于顶点缓冲区对象的文档和教程中,作者都​​特别提到必须在应用程序退出之前删除 VBO。

如果程序崩溃或以程序无法删除 VBO 的方式被终止,VBO 会发生什么情况?它会一直保留在 GPU RAM 中直到计算机重新启动,还是 GPU 最终会恢复 VBO 占用的内存?

【问题讨论】:

【参考方案1】:

OpenGL 实现将清除所有未分配的对象。这并不意味着您应该将它们放在一边,而是您不需要采取措施确保在发生异常情况(即:崩溃)时销毁对象。

【讨论】:

以上是关于如果我在程序退出时未能删除顶点缓冲区对象会发生啥?的主要内容,如果未能解决你的问题,请参考以下文章

当应用程序在 Cordova 中退出时会发生啥事件?

顶点缓冲区对象(删除进程)opengl

恢复IPHONE时显示未能恢复IPHONE发生错误21,是啥原因?

如果我在释放对象所属的池后释放对象会发生啥?

当删除没有虚拟析构函数的多态对象时会发生啥?

OpenGL 顶点数组/缓冲区对象