mapbox / mapbox-gl-native

Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL
https://mapbox.com/mobile
Other
4.37k stars 1.33k forks source link

Hang on each tile load #5659

Closed 1ec5 closed 8 years ago

1ec5 commented 8 years ago

On macOS, panning or zooming – anything that causes mbgl to need to load a new tile – hangs the application. Now it’s difficult to interact with the application, because just about every user interaction results in a 3–10 second hang.

Reproduces in both macosapp and glfw-app.

Bisect implicates b9702ef41a4cfdd0ab3107cfe5cec16ba3a4c230 (#5343), and I’ve verified that it is indeed the change that introduced the regression. But that change was merely renaming the SDK from “OS X” to “macOS”, which shouldn’t have caused anything like this issue. Moreover, the change was cherry-picked into the release-ios-v3.3.0 branch as 061854990ffe495910a5f0dc7c6bb5d394f772e9, and the issue does not reproduce as of 5ede3dd16f673151a6cd34fc78fbdaa08e227449 on that branch.

/cc @kkaefer

jfirebaugh commented 8 years ago

Is this region specific? I don't see anything like this in either macosapp or glfw-app.

1ec5 commented 8 years ago

No, this reproduces everywhere. If you were seeing this issue, you’d first experience it as a several-second hang on launch.

Worth noting that this only happens in Debug, not Release. That would make it similar to #3636, but that doesn’t explain why it only started happening in #5343 or why it doesn’t happen on the release-ios-v3.3.0 branch.

1ec5 commented 8 years ago

Oh dear. You’ll love this one: I had a conditional breakpoint set on this line, conditioned on bucketName == "road-shields-white". It didn’t reproduce when I checked out anything before #5343 because the workspace was named osx.xcworkspace at that time. It also didn’t appear to reproduce on the release branch because I was verifying that branch in a separate checkout. Sorry for the confusion!