因此,我一直在玩核心情节(iOS,版本1.5),看看我能有多好地集成到我的应用程序中。我正在iPad 3上测试它,它通常是我的基本图形设备。
这里没有粘贴大量代码,而是进行了下面的绘图配置:
所以,我的应用程序的使用率一般在33到34 mb左右。它可能高达50毫巴,如果显示一些图像,但通常它将在33-34毫巴范围内。然而,加载核心图将内存跳转到大约63 mb。如果我允许缩放和捏图来缩放它,或者我只是简单地拖动图形,内存使用量就会飙升到~ 143 mb,然后恢复到84 mb。当我关闭图形时,内存下降到大约22 is,我认为这是因为由于内存压力而清除了其他缓存。
此外,可能相关的,捏和拖拽图是非常缓慢的。也许平均2-3 FPS下降到2 SPF (秒每frame...seriously).
看起来核心情节占用了大量的内存,而且速度慢得可怕。
我是错过了什么吗,还是这就是核心情节?除非我能加快速度,使用更少的内存,否则我就无法在生产中使用Core。
更新
我用仪器分析了我的应用程序。这里没有太多要说的,只是所有的内存增益都在核心绘图对象中(或者从它们派生出来)。Time Profiler显示,当我调整或移动绘图时,大部分时间都花在源自drawInContext:方法的各种核心绘制方法中。具有讽刺意味的是,该方法的第一行是self.useFastRendering = YES;。
我要补充的是,情节几乎是全屏的。我还有其他几个控件来编辑绘图字段、图形类型等,但仅此而已。
老实说,我希望我会错过一些与性能相关的财产,但情况似乎并非如此。对于静态图来说,核心图可能很好,但是它在交互性和性能方面落后。
我花了一些时间查看Shinobi控制并查看他们的iOS演示。这正是我想要的图形中的交互性和性能。但我对在我的应用程序中包括昂贵的、封闭的第三方代码持怀疑态度.
很可能我会花时间手工创建图形。
发布于 2017-08-09 11:48:22
不幸的是,Core plot是一个非常慢的库,它只能在内存和CPU使用失控之前处理几百个数据点。
还有其他图表组件能够更有效地处理大数据。查看https://stackoverflow.com/a/45589678/303612获取更多信息
https://stackoverflow.com/questions/22693732
复制相似问题