草庐IT

cicontext

全部标签

ios - 为什么 CIContext.createCGImage 会导致内存泄漏?

我只在iOS9上观察到这种行为;iOS8正常运行。我怀疑这可能是SDK上的一个错误,我已经向Apple(22644754)打开了一个雷达,但我发现它很奇怪,我觉得我可能错过了一个电话或一个步骤来避免泄漏。我观察到每次调用CIContext.createCGImage时,内存使用量都会增加。棘手的部分是内存增加发生在应用程序之外。如果您查看Xcode的“内存报告”,内存增加会显示在“其他进程”部分。基本上,导致问题的原因如下(我已将代码严格简化为重现泄漏所必需的部分):首先,我创建一个由EAGLContext支持的CIContext:letglContext=EAGLContext(AP

ios - 即使已发布 CIImageRefs,CIContext 内存泄漏

我正在使用找到的解决方案here使用CIGaussianBlur模糊图像。但是,我遇到无法解决的内存泄漏。我最初使用的是不使用CIContext作为属性,但认为这可能是无济于事的问题。我还使用了输出图像中的CGRect,但将其更改为尝试关闭泄漏,但再次无效。我相信我正在释放我需要的所有东西(ARC已打开),那么可能导致内存泄漏的原因是什么?CIFilter*gaussianBlurFilter=[CIFilterfilterWithName:@"CIGaussianBlur"];CGImageRefcgimage=[imageCGImage];[gaussianBlurFilterse

ios - 关于 CIContext、OpenGL 和 Metal (SWIFT) 的困惑。 CIContext 默认使用 CPU 还是 GPU?

所以我正在制作一个应用程序,其中一些主要功能围绕着将CIFilters应用于图像。letcontext=CIContext()letcontext=CIContext(eaglContext:EAGLContext(api:.openGLES3)!)letcontext=CIContext(mtlDevice:MTLCreateSystemDefaultDevice()!)所有这些都让我在我的CameraViewController上使用了大约相同的CPU使用率(70%),我在其中将滤镜应用于帧并更新ImageView。所有这些似乎都以完全相同的方式工作,这让我觉得我错过了一些重要的信

ios - 使用 CIContext 在 GLKView 中绘制时,方面填充 AVCaptureVideoDataOutput

我在GLKView中绘制来自AVCaptureVideoDataOutput的相机输出,但相机是4:3,这与的纵横比不匹配>GLKView(全屏)。我正在尝试进行纵横比填充,但相机输出似乎被压扁了,因此它不会超出View框架的边缘。如何使用GLKView获得全屏相机View而不弄乱纵横比?初始化View:videoDisplayView=GLKView(frame:superview.bounds,context:EAGLContext(api:.openGLES2))videoDisplayView.transform=CGAffineTransform(rotationAngle:
12