iPhone开发:处理大量数据时,Core-Plot性能变慢。
我试图将500个数据放入Plot中。表现显示它真的很慢。
大多数CandleStick图表都混合在一起......
任何人都有解决方案吗?
答案 0 :(得分:7)
请注意绘图区域的大小。如果您有比像素更多的数据点,请将数据集过滤为@benzado建议。
使用快速绘制的图形元素 - 不透明的颜色,没有渐变,没有图像,没有阴影。如果条形图只有几个像素宽,则不要同时设置填充和边框线;使用哪一个画得更快。
减少或消除诸如次要刻度线和网格线之类的无关元素。
使用其中一种数据源方法,在一次调用中提供一组点,而不是一次一个。
-(NSArray *)numbersForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndexRange:(NSRange)indexRange;
-(double *)doublesForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndexRange:(NSRange)indexRange;
-(CPTNumericData *)dataForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndexRange:(NSRange)indexRange;
答案 1 :(得分:1)
绘制数据样本!如果您实际上并不需要全部绘制数据点,请不要绘制所有500个数据点。
答案 2 :(得分:1)
我们对iOS图表进行了一些速度比较,其中一个是Core-plot。不幸的是,核心情节太慢了,无法进行第一次测试!!
还有其他图表组件能够更有效地处理大数据。
测试结果和测试设置如下:https://www.scichart.com/ios-chart-performance-comparison
在表格格式中,可以在此处找到四个主要图表iOS提供商之间的比较结果。
披露,我是SciChart项目的技术负责人