Chapter 22 : suggestion for work around [FAILED]

Hello dear authors

I made this attempt to test a workaround linked to this note in your book

  « SpriteKit rendering in Metal
 Note: As of the time of writing, CIContext.render hangs the app when using Xcode 11 or macOS        Catalina 10.15. However, you can still do the rest of this chapter using Xcode 10 on macOS Mojave 10.14. »

At the end of init(metalView:) in Renderer I added

 metalView.framebufferOnly = false

and in postProcess(inputTexture:) of extension HudNode I changed this line

context.render(outputImage, to: outputTexture, commandBuffer: commandBuffer, bounds: outputImage.extent, colorSpace: colorSpace)

to this line (wanting to force CIImage to use its own CommandBuffer)

context.render(outputImage, to: outputTexture, commandBuffer: nil , bounds: outputImage.extent, colorSpace: colorSpace)

And well … it’s working so far. May it is not ideal … maybe next pages it will not work anymore but… you know, just sharing :slight_smile:

:sob: :scream:
As I feared …
It is not working …

1 Like

@behr Thank you for sharing this - much appreciated!