Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

release build exposes metrics lag #1109

Closed
incanus opened this issue Mar 26, 2015 · 6 comments
Closed

release build exposes metrics lag #1109

incanus opened this issue Mar 26, 2015 · 6 comments
Labels
iOS Mapbox Maps SDK for iOS performance Speed, stability, CPU usage, memory usage, or power usage telemetry Integration with Mapbox Telemetry libraries
Milestone

Comments

@incanus
Copy link
Contributor

incanus commented Mar 26, 2015

I am seeing a pretty considerable lag with the three main gestures now due to metrics.

screen shot 2015-03-25 at 5 36 01 pm

This is showing the gesture metrics for pan, pinch, and rotate taking 10-20x longer than the actual move, zoom, and bearing commands. It's impacting the framerate.

  • Pan: 479ms to track, 22ms to make the change, 13ms to push the track
  • Pinch: 373ms to track, 21ms to make the change
  • Rotate: 306ms to track, 33ms to make the change

All on main thread.

/cc @bleege

@incanus incanus added iOS Mapbox Maps SDK for iOS performance Speed, stability, CPU usage, memory usage, or power usage labels Mar 26, 2015
@incanus incanus added this to the iOS Beta 1 milestone Mar 26, 2015
@incanus
Copy link
Contributor Author

incanus commented Mar 26, 2015

I am seeing this both in master and the about-to-be-merged #1110. It's unusable a lot of the time 😦

Is it just my setup? Seeing it on two devices.

@bleege
Copy link
Contributor

bleege commented Mar 26, 2015

Just wrapped the gesture events in an async concurrent background thread so that they're as far away from the main UI thread as possible. Also wrapped the pushEvent and flush methods in serial background queues so things stay in order, but if there's a lag it won't impact the UI.

@bleege bleege mentioned this issue Mar 26, 2015
@incanus
Copy link
Contributor Author

incanus commented Mar 26, 2015

Hmm, I am still seeing all activity on DISPATCH_QUEUE_PRIORITY_BACKGROUND, which isn't serial.

bleege added a commit that referenced this issue Mar 26, 2015
@bleege
Copy link
Contributor

bleege commented Mar 26, 2015

Thanks for the GCD education @incanus! Now they should be serial queues.

@incanus
Copy link
Contributor Author

incanus commented Mar 26, 2015

I should clarify in my original post that those were CPU time totals for the actions.

Going to check this out shortly.

@incanus
Copy link
Contributor Author

incanus commented Mar 26, 2015

Fixed in #1112.

@incanus incanus closed this as completed Mar 26, 2015
@incanus incanus added the telemetry Integration with Mapbox Telemetry libraries label Mar 26, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
iOS Mapbox Maps SDK for iOS performance Speed, stability, CPU usage, memory usage, or power usage telemetry Integration with Mapbox Telemetry libraries
Projects
None yet
Development

No branches or pull requests

2 participants