2011-10-25 70 views
4

我試圖找到一個jQuery圖表庫,用於繪製可以在具有正確性能的各種瀏覽器上運行的Web應用程序中的逆變器度量值。Crossbrowser圖表庫

當時我發現jqPlot,jqChart,gRaphaël和HighCharts。 FF和Chrome的表現很好,但在IE中速度很慢。

使用jqChart,繪製4000點需要:

  • 0.461 S表示火狐7
  • 0.222 S代表谷歌的Chrome 14個
  • 3.440 S代表的Internet Explorer 8個
  • 3.994 S代表的Internet Explorer 6

使用jqPlot,繪製4000點需要:

  • 0.885 S表示火狐7
  • 0.930 S代表谷歌的Chrome 14
  • 33.779 S代表的Internet Explorer 8
  • 34.666 S代表的Internet Explorer 6

我想找到一個解決方案,在所有瀏覽器中都有良好的表現並避免使用Flash,你知道嗎?

+0

那麼jqChart出現了什麼問題呢?這在IE中慢了大約六倍,但比jqPlot好了很多(慢了35倍)。所有瀏覽器都會渲染不同的東西。你正在投入一項巨大的任務,這隻會顯着地突出缺點。也許另一個插件會在IE中表現出色,但在其他插件中表現不佳......恕我直言,我不認爲你會發現在所有瀏覽器中都有類似的表現。 – Sparky

回答

3

我認爲你在這裏打敗了一場失敗的戰鬥。

IE8及更早版本不提供SVG或Canvas,所有圖表庫都基於該SVG或Canvas。

確實提供VML,它類似於SVG。幾乎所有可用的舊版IE工具都可以使用它,因爲它只是瀏覽器上唯一可用的繪圖API。

爲了做到這一點,他們必須從原生繪圖API(即SVG或Canvas)轉換到VML。誠實地說,他們在IE8中工作真是不可思議(還有一些類似的庫已經決定不支持IE8)。

基於SVG的庫可能會更快,因爲SVG和VML相對相似。將Canvas轉換爲VML總是會讓人痛苦地慢下來。

在一天結束時,IE確實有其侷限性,速度是一個主要的問題。 IE8的JavaScript引擎比任何其他瀏覽器都要慢幾個數量級。 IE的VML比其他瀏覽器的SVG要慢。這是一個雙重打擊,只有通過格式轉換纔會變得更糟。

在IE中運行速度最快的庫是Raphael,因爲它是從頭開始生成SVG或VML的,因此它不需要進行任何轉換。但與其他瀏覽器相比,IE瀏覽器的普遍緩慢仍然無能爲力。

唯一的另一種選擇是溝渠HTML5的東西,並使用Flash。有幾個基於Flash的圖表庫可以爲您完成這項工作,並且可以在所有瀏覽器中以幾乎相同的速度工作。不過,這有點落後。

0

我使用flot爲我的最後一個項目。我不會處理這些大數據,但我認爲flot可以處理您的需求。

主要頁說:

該插件與Internet Explorer 6 +,Firefox 2.x的+,Safari 3.0以上,歌劇9.5+和Konqueror 4.x版+與HTML畫布標記(在excanvas的Javascript仿真助手用於IE < 9)。

看一看,試試看。