You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Здравствуйте,
хочу проинформировать вас, что планирую развить вашу разработку ngraph.pixi.
В частности мне нужно решить задачу отрисовки больших графов (> 5К узлов) с приемлемым FPS и при этом иметь под рукой достаточно широкие возможности по рисованию. Пока выбор остановился на Pixi, как вроде бы единственного средства по работе с граф. примитивами на WebGL. В текущей реализации ngraph.pixi на больших графах FPS крайне мал и у меня он в районе 5. Причем мне показалось 3-я версия даже чуть медленнее. Тогда как на Sigma.js ничего не тормозит, но там дальше узлов в виде кружочков не уедешь - придется рисовать все с нуля на голом WebGL.
У меня пока такие планы:
Сделать, чтобы узлы рендерились как спрайты, используя ParticleContainer, при этом нужно, чтобы при зуме они перерендеривались в спрайты на более высокое разрешение. При зуме можно использовать throttle или debounce техники.
Добавить возможность навешивания событий мышки на узлы / ребра.
Возможность отрисовки подписей (на узлах и ребрах)
Пока форк лежит вот здесь https://github.com/fobdy/ngraph.pixi. Я там несколько ранее обновился до 3-ей версии Pixi. Если смотреть на отличия от вашей версии, то я добавил поддержку pan и antialias. Т.к. pan вроде после обновления до v3 ломается. Еще правда с mouse origin надо разобраться - он все в центр зумит, а надо в точку относительно мышки. Еще не нравится какое-то дерганье при зуме - надо посмотреть, чего изменить там.
Если у вас есть какие-то советы или рекомендации дабы направить меня в нужное русло, рад буду услышать.
The text was updated successfully, but these errors were encountered:
Мне нравятся ваши планы и я думаю что в этом есть очень много пользы другим программистам!
Насчет советов - постарайтесь использовать практически получившийся результат. Если есть небольшие графы - используйте ngraph.pixi для их отрисовки, создавайте сайты для анализа подобных графов.
В противном случае, разрабатывать библиотеку ради самой библиотеки это как ставить воз перед конем, так сказать.
Уверен, вы докопаетесь до сути проблемы с зумом! Попробуйте сначала на листочке решить геометрическую задачу: как масштабировать/трансформировать объекты относительно заданной точки. По-началу эти задачи у меня вызывали затруднения, но чем больше их решаешь, тем шире кругозор и тем больше спектр проблем к которым применимо решение.
Если у вас возникнут конкретные вопросы - дайте знать!
Удалось поиграться с ParticleContainer — действительно быстро рисуется. Скорость отрисовки только узлов без линий:
8 000 узлов ~ 25 FPS
16 000 узлов ~ 12 FPS
Если остановить раскладку, то скорость 60 FPS - т.е. именно раскладка (layout) здесь bottleneck, а не Pixi.
Однако проблема с линиями — в Pixi они слишком сложно рисуются, и потому намного медленее, чем у вас с Vivagraph. Поэтому здесь только один выход - как-то жестко наследоваться и переопределять рисование линий в Pixi — но это очень непростая задача.
Здравствуйте,
хочу проинформировать вас, что планирую развить вашу разработку
ngraph.pixi
.В частности мне нужно решить задачу отрисовки больших графов (> 5К узлов) с приемлемым FPS и при этом иметь под рукой достаточно широкие возможности по рисованию. Пока выбор остановился на Pixi, как вроде бы единственного средства по работе с граф. примитивами на WebGL. В текущей реализации
ngraph.pixi
на больших графах FPS крайне мал и у меня он в районе 5. Причем мне показалось 3-я версия даже чуть медленнее. Тогда как на Sigma.js ничего не тормозит, но там дальше узлов в виде кружочков не уедешь - придется рисовать все с нуля на голом WebGL.У меня пока такие планы:
ParticleContainer
, при этом нужно, чтобы при зуме они перерендеривались в спрайты на более высокое разрешение. При зуме можно использоватьthrottle
илиdebounce
техники.Пока форк лежит вот здесь https://github.com/fobdy/ngraph.pixi. Я там несколько ранее обновился до 3-ей версии Pixi. Если смотреть на отличия от вашей версии, то я добавил поддержку pan и antialias. Т.к. pan вроде после обновления до
v3
ломается. Еще правда с mouse origin надо разобраться - он все в центр зумит, а надо в точку относительно мышки. Еще не нравится какое-то дерганье при зуме - надо посмотреть, чего изменить там.Если у вас есть какие-то советы или рекомендации дабы направить меня в нужное русло, рад буду услышать.
The text was updated successfully, but these errors were encountered: