Как ускорить рендеринг графиков во Flex? - PullRequest
2 голосов
/ 10 июля 2009

Я использую линейный график, но он довольно медленно перерисовывается, когда я добавляю новую точку, когда общее количество точек составляет ~ 1200 точек. Конечно, это работает на довольно медленном ПК (~ 600 МГц). Чтение документации Flex о том, как ускорить рендеринг (отключение теней, отключение filterData и т. Д.), Похоже, не помогает. Я привязал свою диаграмму к ArrayCollection (а не к массиву, который использовал ранее, который я обновлял вручную), и, похоже, он не работает быстрее. Документация Adobe, похоже, заставляет меня поверить, что диаграмма смотрит только на то, что изменилось с момента последнего обновления, но я добавляю только одно замечание! Если их информация верна, почему обновление одной точки занимает значительно больше времени (5 секунд), когда у меня ~ 1200 баллов, чем когда у меня только 2 балла (мгновенно)?

К вашему сведению - когда я добавляю новую точку в мою коллекцию ArrayCollection, мне нужно сделать «AC.refresh ()», чтобы получить привязку данных для сбора новых данных. Любые идеи о том, что я могу сделать, чтобы ускорить процесс?

Ответы [ 2 ]

1 голос
/ 15 июля 2009

Любой рисунок с 1200 точками во flash / flex будет медленным при перерисовке. Когда вы добавляете дополнительную точку, вы лишаете законной силы всю серию. Как только диаграмма становится недействительной, она перерисовывается при следующей доступной возможности. Эта перерисовка будет медленной. Боюсь, это никак не обойдется.

Я хочу сказать, почему вам необходимо отображать 1200 точек на графике одновременно. Любой, кто пользуется этой таблицей, не сможет получить всю эту информацию. Если вам нужно показать тренд этих точек, вам нужно изменить дизайн так, чтобы он отображал средние значения (согласно комментарию Криса). Есть и другие стратегии, которые вы можете использовать. Если вы посмотрите на приложение Fiat Eco Drive , мы выберем показывать только максимальный диапазон за один раз. Поэтому, хотя у нас может быть сотни или тысячи точек, мы показываем только определенное их количество.

Множество других стратегий для решения этой проблемы, и вам действительно нужно еще раз взглянуть на дизайн диаграммы, а затем реорганизовать фактическую структуру диаграммы.

0 голосов
/ 29 ноября 2016

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...