gpt4 book ai didi

ios - 当应用程序在后台时防止 GPU 访问 Core Image 的正确方法

转载 作者:可可西里 更新时间:2023-11-01 04:59:13 25 4
gpt4 key购买 nike

我遇到了来自客户的崩溃,回溯如下:

0   libGPUSupportMercury.dylib          0x3542ae2e gpus_ReturnNotPermittedKillClient + 10
1 IMGSGX543RC2GLDriver 0x30bbf5e5 SubmitPacketsIfAny + 245
2 GLEngine 0x32f827db glFinish_Exec + 167
3 CoreImage 0x31fb85b7 CI::GLESContext::recursive_render(CI::Node const*, CGRect, bool) + 219
4 CoreImage 0x31fbb351 CI::GLESContext::render(CI::Node*, CGRect) + 41
5 CoreImage 0x31fc2901 CI::image_get_cgimage(CI::Context*, CI::Image*, CGRect, CGColorSpace*, CI::PixelFormat) + 1313
6 CoreImage 0x31fa8427 -[CIContext createCGImage:fromRect:format:colorSpace:] + 487
7 CoreImage 0x31fa81e9 -[CIContext createCGImage:fromRect:] + 89
8 App 0x0013c9db -[PZTiledImageLayer drawInContext:] (PZTiledImageLayer.m:129)

这是由于应用程序在后台时访问 GPU(不允许)。

导致这次崩溃的代码是这样的:

if([UIApplication sharedApplication].applicationState == UIApplicationStateActive)
{
cg_image = [self.imageContext createCGImage:im fromRect:rclip];
}

这意味着应用在我检查之后更改状态,但在 GPU 在 Core Image API 中访问之前。

使用此 Core Image API 时,应用程序后台状态的正确处理方式是什么?

最佳答案

如果这是在后台线程上发生的,您可以尝试将其移至主线程。这样这个函数的执行就不会与 AppDelegate 回调交织

- (void)applicationDidEnterBackground:(UIApplication *)application

你可以在那里实现一些信号而不用担心并发。

关于ios - 当应用程序在后台时防止 GPU 访问 Core Image 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17782492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com