extjs - ExtJS 图表是否比 FusionCharts 表现更好?

标签 extjs fusioncharts

我们正在考虑在我们的应用程序中用 ExtJS 图表替换 FusionCharts,因为:

  1. 我们已经在整个 UI 中使用了 ExtJS。如果能消除另一个商业第三方依赖项和 API 的开销和费用,那就太好了。
  2. 我们希望能够在无 Flash 移动设备上显示这些图表。
  3. 与普通的 DOM 对象相比,扩展和管理 FusionCharts 的 Flash 组件要困难得多。
  4. 我们应用程序的一些特定页面上塞满了图表(大约有数百个类似 Spark 的图表),而 Flash 正在吞噬内存,就像它要过时了一样。

我查看了 FusionCharts 的 JavaScript 回退,它在美学上还不够。另外,我不想要一个“后备”的 JavaScript 实现。

我们目前使用的是 ExtJS 3.2.0。短期内升级到 4.x 是不可能的,但如果我们认为值得付出努力,我们可能会沙箱化 Ext 4 以仅使用其图表。

所以我的问题本质上是ExtJS 4 的 JavaScript 图表的性能是否明显优于 FusionCharts Flash 图表?我主要关心内存使用情况,其次是渲染时间。


我看到 this Stack Overflow question这表明,至少截至 2011 年 8 月,Ext 图表并没有真正达到标准。我知道 Sencha 在 4.1 中专注于提高稳定性和性能。有谁知道从那以后情况是否有所好转?

最佳答案

长话短说

通过使用 ExtJS 4.0.7 而不是 FusionCharts 3.2 中的图表,我发现内存使用量、CPU 负载和渲染时间显着减少,通常减少 70-85%。

简介

我最近有时间测试 Ext 的图表。重写组件以将 Ext 4 图表集成到 Ext 3 面板中有点痛苦,但经过几天的工作,我可以绘制来自服务器的实际数据图表。

我试图解决的基本图表问题如下图所示:

Basic charts

我们绘制了设备上多个 socket 的功率读数趋势图。这在 FusionCharts 中运行良好,直到我们最近开始渲染具有 168 个 socket 的设备(并且可能在单个页面上呈现多个这样的设备)。我怀疑没有浏览器能够处理那么多的 Flash,所以我构建了一个基本页面来呈现这些设备之一,并在几个不同的浏览器中对其进行了测试。

测试结果

“F”表示 FusionCharts。 “E”表示 ExtJS。

硬件:

  • OS X:15 英寸 MacBook Pro 5,1、2.4 GHz Intel Core 2 Duo、4 GB 内存
  • Win7:21 英寸 iMac 4,1、1.83 GHz Intel Core 2 Duo、2 GB 内存
  • WinXP:在 VirtualPC 中运行 XP 的同一台 iMac(1 GB RAM)
=========
OS X 10.7
=========

Browser/Test    Real Mem (MB)     Virt Mem (MB)     Priv Mem (MB)     CPU (%)     Render (s)
--------------------------------------------------------------------------------------------

Chrome 17.0.963.56
F1              653               532               333                14         22.8
F2              648               535               336                15         22.7
F3              656               538               339                15         22.3
                ---               ---               ---               ---         ----
                652               535               336                15         22.6

E1              104               129                80                 0          4.0
E2              104               129                80                 0          4.7
E3              104               129                80                 0          3.7
                ---               ---               ---               ---         ----
                104               129                80                 0          4.1

+/-             -84%              -76%              -76%             -100%         -82%


Firefox 10.0.2
F1              905               450               257                14         10.1
F2              889               435               242                15         10.5
F3              889               465               272                15         10.1
                ---               ---               ---               ---         ----
                894               450               257                15         10.2

E1              239               230               161                 0          3.5
E2              256               215               177                 0          3.7
E3              253               218               181                 0          4.6
                ---               ---               ---               ---         ----
                249               221               173                 0          3.9

+/-             -72%              -51%              -67%             -100%         -62%


Safari 5.1.3
F1              1070              998               717                16         22.7
F2              1130              993               670                16         23.0
F3              1120              902               631                17         22.9
                ----              ---               ---               ---         ----
                1107              964               673                16         22.9

E1               153              290               125                 0          3.4
E2               153              291               125                 0          3.5
E3               153              291               125                 0          3.3
                ----              ---               ---               ---         ----
                 153              291               125                 0          3.4

+/-              -86%             -70%              -81%             -100%         -85%


=========
Windows 7
=========

Browser         Working Set (MB)    Priv Working Set (MB)     Commit Size (MB)    CPU (%)   Render (s)
------------------------------------------------------------------------------------------------------

Chrome 17.0.963.56
F1              638                 619                       633                  45       16.9
F2              639                 620                       633                  43       16.8
F3              639                 620                       633                  45       16.9
                ---                 ---                       ---                 ---       ----
                639                 620                       633                  45       16.9

E1              100                  85                        96                   0        4.4
E2               95                  81                        92                   0        4.5
E3              101                  87                        98                   0        4.3
                ---                 ---                       ---                 ---       ----
                 99                  84                        95                   0        4.4

+/-             -85%                -87%                      -85%               -100%       -74%


Firefox 10.0.2
F1              650                 638                       657                  52       11.5
F2              655                 641                       659                  54       16.9
F3              650                 638                       656                  52       11.4
                ---                 ---                       ---                 ---       ----
                651                 639                       657                  52       13.3

E1              138                 111                       119                   0        3.6
E2              141                 113                       121                   0        3.6
E3              134                 106                       114                   0        3.8
                ---                 ---                       ---                 ---       ----
                138                 110                       118                   0        3.6

+/-             -79%                -83%                      -82%               -100%       -73%


IE 9.0.8112.16421
F1              688                 660                       702                  19       13.1
F2              645                 617                       661                  16       19.0
F3              644                 615                       660                  15       19.0
                ---                 ---                       ---                 ---       ----
                659                 631                       674                  17       17.0

E1              100                  73                        90                   0        4.8
E2               98                  73                        90                   0        4.5
E3               99                  73                        90                   0        4.3
                ---                 ---                       ---                 ---       ----
                 99                  73                        90                   0        4.5

+/-             -85%                -88%                      -87%               -100%       -74%


==========
Windows XP
==========

Browser/Test    Mem Usage (MB)      Virt Mem Usage (MB)     CPU (%)   Render (s)
--------------------------------------------------------------------------------

IE 8.0.6001.18702
F1              653                 658                      56       19.5
F2              652                 658                      58       19.6
F3              652                 658                      60       18.9
                ---                 ---                     ---       ----
                652                 658                      58       19.3

E1              272                 266                       2       38.5
E2              271                 266                       2       37.4
E3              271                 266                       2       37.3
                ---                 ---                     ---       ----
                271                 266                       2       37.7

+/-             -58%                -60%                    -97%       +95%


IE 7.0.5730.13
F1              721                 726                      80       29.1
F2              691                 698                      75       25.9
F3              695                 698                      78       27.0
                ---                 ---                     ---       ----
                702                 707                      78       27.3

E1              302                 294                       1       67.4
E2              301                 294                       0       66.5
E3              301                 294                       0       65.8
                ---                 ---                     ---       ----
                301                 294                       0       66.6

+/-             -57%                -68%                   -100%      +144%

Notes:

- CPU (%) was measured once the charts had finished rendering and
  the browser was idling.
- Render (s) was the time measured between when the data finished
  loading and when the charts were fully rendered and usable.

结论

除了在 IE8 和 IE7 上的渲染时间之外,在每个指标中,ExtJS 图表的表现都大大优于 FusionCharts。虽然测试是针对我们的用例的,但我希望在类似情况下看到类似(如果不那么剧烈)的结果——即,单个页面上有很多图表。

更不用说原生图表的定性优势,例如真正的 DOM 脚本和样式、与 ExtJS 框架的其余部分的直接集成以及在无 Flash 移动设备上访问图表。如果您能投入时间,Ext 4 中的图表将是一个巨大的胜利。

关于extjs - ExtJS 图表是否比 FusionCharts 表现更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9238032/

相关文章:

jquery - 在 Sencha/jQuery 应用程序中预加载图像的最佳方法?

javascript - ExtJS - 应用 JQUEry UI 主题

javascript - 通过 AJAX 设置 fusioncharts 数据集

html - FusionChart AngularJS : Cannot display two separate charts "No Data to display"

browser - 有什么方法可以使用 javascript 将浏览器网页中特定 div 标签的内容(比如图形)保存为图像?

php - 图表未在带有融合图表的 php 和 mysql 中生成

javascript - 将圆 Angular 矩形制作成语音气泡并在 svg 中相对定位图像

javascript - Extjs3 组件层次结构 - 获取所有子组件

Extjs 更改堆积条形图中条形的颜色

javascript - FusionCharts feedData 不是 AngularJS 中的函数