使用 SQLite3_Step 在 MapBox 中看到高 CPU 峰值

Seeing high CPU spikes in MapBox using SQLite3_Step

我目前在 MapBox 中遇到平铺问题,它看起来像是以下代码的瓶颈问题:

rc      = sqlite3_step(pStmt);

在以下函数中:

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

正如您在下面的屏幕截图中所见,此问题有时可能需要 2-3 秒才能完成:

我注意到我的代码似乎在突发中执行此功能。因此 CPU 在飙升至 100+% 之前将下降至约 10%。在它达到峰值期间绘制 MapTiles,然而,在此之前地图绘制完全停止。在瓷砖全部绘制之前,这可能会发生 2-3 次。

有人见过这个问题吗?不确定是不是我的 CoreData 调用打断了 MapBox 的调用?

非常感谢任何帮助。

查看今天刚刚发布的 1.5.0 版本,它提高了磁盘缓存性能,可能会为您解决这个问题。