I've done some more experimenting. I'm now creating overlays for each timestamp (12 of them) along with the renderers. I then set all renderer alpha to 0 except the one which overlay I want to show at that moment which I set to 0.5 alpha. Then I just cycle through the overlays setting their renderer's alpha. Makes for a very smooth animation.
Then every minute I reload the data, remove all the overlays, and create new ones with the new data. In production I'd do this every 10 minutes but to test this I do it every 60 seconds.
This bug is still coming up. Again it takes about 20 to 60 minutes for it to occur.
I then tried removing the MapView from its superview and remove all the overlays, and the delegate. I can confirm it is removed by monitoring the memory usage. I then create a new MapView and add it to my ViewController's view as a subView and then remake all the overlays for that new mapView. Memory usage is stable over the testing period. I figured this would clear out any issue with Metal holding on to things. But after about an hour. Same issue.
I'm not sure how to proceed now. This is really starting to seem like a bug? I hate to point at that as the issue but I'm at a loss what to do next?
I snagged two captures of the gpu debug screen. The numbers on the right I'm not certain what they mean but hoping that might point to something?
First, is the image of the GPU hud when I first start things going.
Next is the image when the app crashes.
Topic:
App & System Services
SubTopic:
Maps & Location
Tags: