xcodesqlitecpumapboxroute-me

Seeing high CPU spikes in MapBox using SQLite3_Step


I'm currently getting a tiling issue in MapBox and it looks like a bottleneck issue with the following code:

rc      = sqlite3_step(pStmt);

in the following function:

- (BOOL)executeUpdate:(NSString*)sql error:(NSError**)outErr withArgumentsInArray:(NSArray*)arrayArgs orDictionary:(NSDictionary *)dictionaryArgs orVAList:(va_list)args

As you can see in the screenshot below, this issue can sometimes take up to 2-3 seconds to complete:

CPU Usage

I have noticed that my code seems to perform this function in bursts. So the CPU will drop to about 10% before spiking up to 100+%. During the time it spikes the MapTiles are drawn, however, before this the map drawing comes to a complete stop. This can happen 2-3 times before the tiles are all drawn.

Has anyone seen this issue before? Not sure if it's my CoreData calls interrupting the MapBox ones?

Any help is much appreciated.


Solution

  • Check out the 1.5.0 version, released just today, which improves disk caching performance and might address this for you.