AAChartKit icon indicating copy to clipboard operation
AAChartKit copied to clipboard

你好,使用曲线图时,当曲线数量比较多的时候,点击曲线的时候会很卡,浮动提示框显示的会很慢,想问下有什么办法解决?

Open 253855115 opened this issue 1 year ago • 12 comments

042127e2ffb8236d1ab78eb91436199f

253855115 avatar Apr 16 '24 10:04 253855115

你这个截图是根据 demo 中的示例改的, demo 中的示例曲线全部都是用的渐变色.

  • 渐变色相对纯色会更影响性能一点, 换成纯色应该会好一点.
  • 禁用 tooltip 的动画效果, 也会稍微好一点儿.

AAChartModel avatar Apr 16 '24 10:04 AAChartModel

如果还不行的话, 那可能就是因为这么多的数据量, 达到 Highcharts 的性能上限了.

AAChartModel avatar Apr 16 '24 10:04 AAChartModel

如果是达到 Highcharts 在移动端的性能上限的原因的话, 那就只能是:

  1. Highcharts 换成 Highstock
  2. 或者添加额外的性能模块 boost.js

参考:

  • https://github.com/AAChartModel/AAChartKit/issues/1403
  • https://github.com/AAChartModel/AAChartKit/issues/1437

不过这两个方法都需要你自己会一点 JavaScript 了, 需要自己添加 Highcharts 相关的依赖库了.

AAChartModel avatar Apr 16 '24 10:04 AAChartModel

这种大数据量的图表展示, 如果是强需求的话, 建议你最好还是用一些其他的 iOS 原生图表库吧. 基于前端的使用 WebView 的图表框架, 在移动端的性能上限确实不如原生.

AAChartModel avatar Apr 16 '24 10:04 AAChartModel

同一个库同样的参数设置,我用安卓手机测试就不会卡,苹果手机就会卡,这是什么原因?

253855115 avatar Apr 17 '24 02:04 253855115

分别是什么配置的安卓手机和苹果手机? 多大的数据量? 是真机吗?

AAChartModel avatar Apr 17 '24 03:04 AAChartModel

我用低配的安卓手机和低配苹果手机,高配的安卓手机和高配苹果手机进行测试过,跟手机关系不大,我下载AAChartKit库的安卓版和iOS版进行对比,都使用曲线图时,设置的曲线数据源参数都是一样的,点击曲线图表时,安卓手机显示浮动提示框很快,苹果手机显示浮动提示框很慢

253855115 avatar Apr 17 '24 03:04 253855115

有一个区别是:

  • iOS 的 Objective-C 版本的 AAChartKit 现在依赖的 Highcharts 版本是 9.0,
  • 而安卓的 Java 和 Kotlin 版本的 AAChartCore 依赖的 Highcharts 都是更高版本的 10.0,

不知道这个会不会有影响?! 更高版本的 Highcharts 性能优化的更好?! 不过我感觉可能性不太大.

不过, 如果你想排查一下这个问题, 你可以试试 Swift 版本的 AAChartKit-Swift, Swift 版本的依赖的 Highcharts 是 11.0 以上.

AAChartModel avatar Apr 17 '24 04:04 AAChartModel

iOS 的 Objective-C 版本 依赖Highcharts 版本能否跟Swift 版本一致呢,都使用11.0以上。不升级Objective-C 版本的Highcharts 版本是有什么考量吗

BinBear avatar Jun 05 '24 06:06 BinBear

  - Data URL: https://raw.githubusercontent.com/CocoaPods/Specs/21669380955bfb6072d3ebaa70c92ee1bf374474/Specs/b/1/c/AAChartKit/9.0.0/AAChartKit.podspec.json
  - Log messages:
    - June 5th, 02:29: Push for `AAChartKit 9.0.0' initiated.
    - June 5th, 02:29: Push for `AAChartKit 9.0.0' has been pushed (4.442704985 s).

@BinBear AAChartKit 最新版本 9.0.0 已发布, 依赖的 Highcharts 版本也已升级为最新的 v11.4.3.

AAChartModel avatar Jun 05 '24 08:06 AAChartModel

不升级Objective-C 版本的Highcharts 版本是有什么考量吗

无他, 单纯是拖延症犯了.😊

AAChartModel avatar Jun 05 '24 08:06 AAChartModel

  - Data URL: https://raw.githubusercontent.com/CocoaPods/Specs/21669380955bfb6072d3ebaa70c92ee1bf374474/Specs/b/1/c/AAChartKit/9.0.0/AAChartKit.podspec.json
  - Log messages:
    - June 5th, 02:29: Push for `AAChartKit 9.0.0' initiated.
    - June 5th, 02:29: Push for `AAChartKit 9.0.0' has been pushed (4.442704985 s).

@BinBear AAChartKit 最新版本 9.0.0 已发布, 依赖的 Highcharts 版本也已升级为最新的 v11.4.3.

get 点赞

BinBear avatar Jun 06 '24 06:06 BinBear