Hi and thank you for the suggestion.
Unfortunately turned the Reactions off does not remove the CPU/GPU overhead. The CPU stack trace was captured with all Reactions disabled in the UI.
Also, I don't want to have to ask my users to help me workaround what really seems like a bug/design flaw in the macOS APIs. I need to be able to programmatically disable this without asking for help from the user.
Post
Replies
Boosts
Views
Activity
Not having these settings under application control is extremely problematic, I am seeing both a 7-8x slowdown compared to my own AI image processing code that has zero need for any portrait or other effects, and frequent crashes such as this one:
thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x18e8d9e600)
frame #0: 0x00000001f37dba44 AGXMetalG14XAGX::TextureGen4<(AGXTextureMemoryLayout)3, AGX::G14X::Encoders, AGX::G14X::Classes>::TextureGen4(AGX::G14X::Device*, bool, AGXHardwareTextureMemoryOrder, MTLTextureType, AGX::TextureFormat const*, MTLPixelFormat, unsigned long, MTLStorageMode, AGXTextureCompressionSettings, eAGXColorSpaceConversion, eAGXTextureRotation, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned long, unsigned int, MTLCPUCacheMode, __IOSurface*, unsigned int, unsigned int, __IOSurface*, unsigned int, unsigned int, bool, bool, bool, unsigned long long) + 2108 frame #1: 0x00000001f37dc844 AGXMetalG14XAGX::TextureGen4<(AGXTextureMemoryLayout)3, AGX::G14X::Encoders, AGX::G14X::Classes>::TextureGen4(AGX::G14X::Device*, bool, AGXHardwareTextureMemoryOrder, MTLTextureType, AGX::TextureFormat const*, MTLPixelFormat, unsigned long, MTLStorageMode, AGXTextureCompressionSettings, eAGXColorSpaceConversion, eAGXTextureRotation, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned long, unsigned int, MTLCPUCacheMode, __IOSurface*, unsigned int, unsigned int, __IOSurface*, unsigned int, unsigned int, bool, bool, bool, unsigned long long) + 5692
frame #2: 0x00000001f37df1b4 AGXMetalG14X-[AGXG14XFamilyTexture initImplWithDevice:Descriptor:iosurface:plane:slice:buffer:bytesPerRow:allowNPOT:sparsePageSize:isCompressedIOSurface:isHeapBacked:] + 1176 frame #3: 0x00000001f37faf7c AGXMetalG14X-[AGXTexture initWithDevice:desc:iosurface:plane:slice:] + 216
frame #4: 0x00000001919672f0 QuartzCoreallocate_drawable_texture(id<MTLDevice>, __IOSurface*, unsigned int, unsigned int, MTLPixelFormat, unsigned long long, bool, NSString*, unsigned long) + 176 frame #5: 0x0000000191722338 QuartzCoreget_unused_drawable(_CAMetalLayerPrivate*, bool, bool) + 620
frame #6: 0x0000000191968378 QuartzCoreCAMetalLayerPrivateNextDrawableLocked(CAMetalLayer*, CAMetalDrawable**, unsigned long*) + 1652 frame #7: 0x0000000191721f94 QuartzCore-[CAMetalLayer nextDrawable] + 128
frame #8: 0x000000019b234350 MetalKit-[MTKView currentDrawable] + 184 frame #9: 0x000000019b233f7c MetalKit-[MTKView currentRenderPassDescriptor] + 40
frame #10: 0x0000000100010948 vertigodemoMetalViewImpl::Render(this=0x000000012f3cb310) at metalview.mm:701:28 frame #11: 0x00000001000107c4 vertigodemo-[MetalMTKView draw](self=0x0000000138058c00, _cmd="draw") at metalview.mm:369:11
frame #12: 0x000000019b233aa0 MetalKit__23-[MTKView __initCommon]_block_invoke + 40 frame #13: 0x00000001893ac910 libdispatch.dylib_dispatch_client_callout + 20
frame #14: 0x00000001893afdc8 libdispatch.dylib_dispatch_continuation_pop + 600 frame #15: 0x00000001893c3be4 libdispatch.dylib_dispatch_source_latch_and_call + 420
frame #16: 0x00000001893c27b4 libdispatch.dylib_dispatch_source_invoke + 832 frame #17: 0x00000001893baeb8 libdispatch.dylib_dispatch_main_queue_drain + 744
frame #18: 0x00000001893babc0 libdispatch.dylib_dispatch_main_queue_callback_4CF + 44 frame #19: 0x000000018967cea4 CoreFoundationCFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 16
frame #20: 0x000000018963a760 CoreFoundation__CFRunLoopRun + 1996 frame #21: 0x000000018963993c CoreFoundationCFRunLoopRunSpecific + 608
frame #22: 0x0000000193c02448 HIToolboxRunCurrentEventLoopInMode + 292 frame #23: 0x0000000193c02284 HIToolboxReceiveNextEventCommon + 648
frame #24: 0x0000000193c01fdc HIToolbox_BlockUntilNextEventMatchingListInModeWithFilter + 76 frame #25: 0x000000018ce18ed0 AppKit_DPSNextEvent + 660
frame #26: 0x000000018d603eec AppKit-[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 716 frame #27: 0x000000018ce0c37c AppKit-[NSApplication run] + 476
frame #28: 0x000000010000f990 vertigodemomain(argc=3, argv=0x000000016fdff760) at macos-main.mm:48:5 frame #29: 0x00000001891dd0e0 dyldstart + 2360
Here you go https://feedbackassistant.apple.com/feedback/13531490
Hi,
please see https://feedbackassistant.apple.com/feedback/13367810 .
I was unable to attach anything to the Issue, the attachment form gives a HTTP 403 error code, but it should be easy to reproduce from the steps provided.
Thank you!
Jacob
Fortunately problem seems to be isolated to Catalyst or MacOS (12.3.1 (21E258)), does not reproduce on IOS.