Hi,
I'm having a test run with compute shaders on Metal. I started with the MetalImageProcessing sample code, which basically does the following:
- makes a gray version of an input image into a texture
- renders that texture to the display
The source image & texture are 800x533 (see sample code)
I'm running this on an A7 iPad (running iOS 9b4), and I'm a bit surprised to only achieve 40 FPS with that setup. I tried to tweak the threadgroup size & the shader code itself, with no luck. CPU gauge in Xcode show 24.6ms, GPU gauge 18ms.
This brings a number of questions:
- is this subpar performance due to beta OS, or hardware, or something else?
- is it due to compute shader? (As opposed to vertex/fragment I should say)
- are compute shaders a recommanded approach?
I'm pretty sure I could manage at least 5x improvements (if not much more) using GLES vertex / fragment on the same hardware, so this is the reason why I'd like more clues before committing to Metal. Or maybe revert to vertex/fragment even with Metal.
Thank you.