jjzjj

ios - CVOpenGLESTextureCacheCreateTextureFromImage 报告 "Failed to create IOSurface image (texture)"

coder 2024-01-11 原文

谁能解释一下(或指出相关的 FM 覆盖)这个功能?

iPad 2、iOS 5.0.0、Xcode 4.2、ARC 项目。

我的项目从相机获取输入并将其与各种图像混合,最后将其全部渲染在屏幕上。

只要我没有收到内存警告,它就可以无限期地正常工作,没有内存泄漏。

didReceiveMemoryWarning 之后,调用此函数的前 5 次失败并显示“无法创建 IOSurface 图像(纹理)”。之后,屏幕变黑,程序停止响应。我可以按主页键,然后终止应用程序。

我的电话是这样的:

    err = CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault, 
                                                   _videoTextureCache,
                                                   pixelBuffer,
                                                   NULL,
                                                   GL_TEXTURE_2D,
                                                   GL_RED_EXT,
                                                   _textureWidth,
                                                   _textureHeight,
                                                   GL_RED_EXT,
                                                   GL_UNSIGNED_BYTE,
                                                   0,
                                                   &_lumaTexture);

_videoTextureCache 最初是用这个创建的:

    //-- Create CVOpenGLESTextureCacheRef for optimal CVImageBufferRef to GLES texture conversion.
    CVReturn err = CVOpenGLESTextureCacheCreate(kCFAllocatorDefault, NULL, (__bridge void *)_context, NULL, &_videoTextureCache);
    if (err) 
    {
        NSLog(@"Error at CVOpenGLESTextureCacheCreate %d", err);
        return;
    }

_videoTextureCache 定义如下:

CVOpenGLESTextureCacheRef _videoTextureCache;    

当我收到内存警告时,我是否需要调用一些东西来释放分配的内存? 我可以nil _videoTextureCache(这样 ARC 可以清理内存),然后重新创建它吗?

到目前为止,我找到的唯一文档是声明函数的 .h 中的注释,这似乎并没有什么帮助。

有人知道其他文档吗?

-肯

最佳答案

您是否在不再需要 CVOpenGLESTextureCacheRefCVOpenGLESTextureRef 时调用 CFRelease()

苹果源代码:

关于ios - CVOpenGLESTextureCacheCreateTextureFromImage 报告 "Failed to create IOSurface image (texture)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8709730/

有关ios - CVOpenGLESTextureCacheCreateTextureFromImage 报告 "Failed to create IOSurface image (texture)"的更多相关文章

随机推荐