Библиотека кроссбраузерных диаграмм - PullRequest
4 голосов
/ 25 октября 2011

Я пытаюсь найти библиотеку диаграмм jQuery для построения показателей от инверторов в веб-приложении, которое может работать на любом браузере с правильной производительностью.

К моменту, когда я нашел jqPlot,jqChart, gRaphaël и HighCharts.Их производительность хороша в FF и Chrome, но в IE очень медленная.

Используя jqChart, построение 4000 точек занимает:

  • 0,461 с для Firefox 7
  • 0,222s для Google Chrome 14
  • 3,440 с для Internet Explorer 8
  • 3,994 с для Internet Explorer 6

Используя jqPlot, для построения 4000 точек требуется:

  • 0,885 с для Firefox 7
  • 0,930 с для Google Chrome 14
  • 33,779 с для Internet Explorer 8
  • 34,666 с для Internet Explorer 6

Я хотел бы найти решение, которое имеет хорошую производительность во всех браузерах и не использует Flash, знаете ли вы?

Ответы [ 3 ]

3 голосов
/ 25 октября 2011

Я думаю, что вы ведете здесь проигрышную битву.

IE8 и более ранние версии не предоставляют ни SVG, ни Canvas, на которых основаны все библиотеки диаграмм.

Это обеспечивает VML, который похож на SVG.Практически все доступные библиотеки, которые вообще работают в более старых версиях IE, используют это, потому что это почти единственный API рисования, доступный в браузере.

Для того, чтобы сделать это, они должны выполнить процесс преобразования изих собственный API рисования (т.е. SVG или Canvas) в VML.Честно говоря, удивительно, что они работают в IE8 вообще (и есть ряд похожих библиотек, которые приняли решение не поддерживать IE8).

Библиотеки на основе SVG, скорее всего, будут быстрееэто, так как SVG и VML относительно похожи.Преобразование Canvas в VML всегда будет мучительно медленным.

В конце концов, IE имеет свои ограничения, и скорость - главное.Движок JavaScript в IE8 работает на несколько порядков медленнее, чем любой другой браузер.IE VML медленнее, чем SVG других браузеров.Это двойной удар, который усугубляется только преобразованием формата.

Библиотека с наилучшими шансами на работу с приличной скоростью в IE - это Raphael, потому что она написана с самого начала для генерации SVG или VML, поэтомуэто никогда не должно делать никакого преобразования.Но он по-прежнему ничего не может сделать с общей медлительностью IE по сравнению с другими браузерами.

Единственная альтернатива - отказаться от HTML5 и использовать Flash.Существует несколько библиотек диаграмм на основе Flash, которые будут выполнять эту работу за вас, и будут работать с практически одинаковой скоростью во всех браузерах.Хотя это немного отсталый шаг.

0 голосов
/ 30 мая 2012

Я использую flot для моего последнего проекта.Я не работаю с такими большими данными, но думаю, что flot может удовлетворить ваши потребности.

На главной странице написано:

Плагин работает с Internet Explorer 6+, Firefox 2.x +, Safari 3.0+, Opera 9.5+ и Konqueror 4.x + с холстом HTMLtag (вспомогательный эмулятор Javascript используется для IE <9). </p>

посмотрите и попробуйте.

0 голосов
/ 07 ноября 2011

jqChart оптимизирован для обработки большого набора данных, но в настоящее время только с линейным графиком, без маркеров:

http://www.jqchart.com/samples/ChartPerformance/LineChart

С каким типом диаграммы вы пытаетесь визуализировать свои 4000 баллов?

...