I'm trying to figure out why my Metal project has worse touch latency than a standard UIView-based implementation. All I'm doing is drawing circles where the touches are, and the UIView-based implementation is significantly tighter.
I have two questions:
1. A little probing and it looks like Metal frames are triple buffered (i.e., if you stop updating rendering, you'll see the three frames cycling over and over). Is it that I'm seeing a 2 frame delay (33ms) before the updated data appears?
2. Frequently, the touch updating itself becomes choppy in the Metal app. Whereas the UIView-based app smoothly updates touch movements at 60Hz, sometimes the Metal app will go 33ms between touchesMoved updates, which makes the motion choppy. Why would that be?