Xcode Graphical Debugger Crash

I use the rendering pipeline urp 12.1.7, and then use the unity2021.3.11f1 version to export the xcode14.2 project, and then run it on the iPhone 11 pro max (16.3), and then click the "M" button to perform gpu capture workload. Once this operation is performed, the memory usage will rise sharply, triggering the out of memory. For example, the memory of the game itself is about 1.3G. Once the gpu capture is performed, it will become more than 2.3G, resulting in the inability to profile the game.

  • When I adjust the newCommandQueueWithMaxCommandBufferCount, it won't appear, but I'm not sure whether it really solves the problem.

  • How much frames can be in-flight in your application at one time? Is there a limit, like a semaphore, that gets signaled when previous frame finish or something like this? The reason I'm asking is that capture does not pause the application until the whole capture is done. So if the application is pumping out frames and maybe allocating new resources for those new frames, while capture layer still holds on to resources from previous unfinished frames, this can lead to a rise in memory use.

Add a Comment

Replies

Did you ever figure this out? We are getting this same issue. It's definitely a bug. I've noticed it happens with us when using large buffers (over about 1 MB).

This is a critical issue for us since it makes debugging impossible. I've tried on both Xcode 14.3, 14.3.1 and 15 beta 8. I've also tested across iPhone X and XS Max, on both iOS 15 and iOS 16.

We can create the buffers fine and it will still be profileable. But once the buffer is bound to a compute shader, it will crash every time with high memory usage before being able to complete profiling.

  • Could you file a feedback assistant with the application that reproduces this problem attached and post the FB number here? This would help us to investigate the issue.

Add a Comment