显性释放金属质感
Explicitly Release Metal Texture
我找不到答案的简单问题,在 openGL 上有一个 glDeleteTextures(1, &t)
显然,该模型非常不同,但我想知道 Metal 是否有相同的需求或要求。
MTLTexture
是刚刚通过引用计数释放还是有其他方法释放纹理并让 GPU 也将其从缓存中清除?
MTLTexture
生命周期的管理方式与其他对象完全相同:当它们的引用计数达到 0 时,它们将被释放(无论是 ARC/Swift 还是 Obj-C 下的 MRR 自动发生)。使用纹理的对象,如命令缓冲区,可能会在使用时保留纹理,影响它们的生命周期,但大多数应用程序可以愉快地忽略这一点。
我找不到答案的简单问题,在 openGL 上有一个 glDeleteTextures(1, &t)
显然,该模型非常不同,但我想知道 Metal 是否有相同的需求或要求。
MTLTexture
是刚刚通过引用计数释放还是有其他方法释放纹理并让 GPU 也将其从缓存中清除?
MTLTexture
生命周期的管理方式与其他对象完全相同:当它们的引用计数达到 0 时,它们将被释放(无论是 ARC/Swift 还是 Obj-C 下的 MRR 自动发生)。使用纹理的对象,如命令缓冲区,可能会在使用时保留纹理,影响它们的生命周期,但大多数应用程序可以愉快地忽略这一点。