While developing my Metal application I noticed that making a draw call is a lot slower than using a tile shader. In particular, when operating on a 4k resolution texture it takes about 3ms to complete a draw call while the tile shader takes about 150ns. I was wondering, is a tile shader the preferred approach for drawing with Metal now? Or is there any particular reason why a typical draw call should be used.
Draw Call vs Tile Shader
Can you provide some more info about what you are doing in your draw call? I could see the tile shader being faster if you have multiple render passes that use that texture, since each render pass is likely reading and writing the texture back to system memory. With the tile shader, you are probably saving on those read and write operations.