Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

Category:

Прогресс по SVG-чартам

https://github.com/streamcode9/svg-time-series
https://gitter.im/streamcode9/svg-time-series

Забенчили почти все компоненты отдельно - получилось что в текущих демо тормозит передобавление атрибута path.d каждую секунду. В-общем неудивительно. Будем теперь это лечить.

Выяснилось, что d3 после наших контрибуций не тормозит сколь-нибудь заметно, во всяком случае не на десктопе. Даже его сетка координат, которая изначально лагала. Правда там у нас часть улучшений апстрим не принял, но мы пытались.

Ещё я отрефакторил коровники вызовов d3, теперь от них остался только блестящий гений мудака бостока (сокращённо mbostock). И пришлось код демо поломать и постепенно переделывать на новые рельсы.

В-общем, ждите новых демо, там обещаем 60 fps на 5 графиках в Edge и Chrome на десктопе, и ~30 в FF. В хроме альфа-верии canary на моём мобле ~20. В вебвьюве ~2 (но там 0.3 секунды передобавление (длинного и текстового) атрибута, это может и ускориться. А хром мобильный ограничен отрисовкой линий графиков, которую тоже можем полечить, но не сейчас. Например там может оказаться дебильный клиппинг.

В версии 2.0 перспективы радужные - plot.ly запилили WebGL бекенд. Но оно у них все равно тормозит, поскольку готовить не умеют.

В-общем в 1.0 мы обссыкаем dygraphs на канвасе и SVG-вариант plot.ly. А в 2.0 лечим OpenGL-бекенд у плотлей и обссыкаем их на их поле.
Tags: programming
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 10 comments