Ответ 1
но если вы хотите создать высокопроизводительный график node с масштабированием ввода/вывода и некоторыми причудливыми эффектами, которые могут обрабатывать тысячи узлов, я думаю, что гораздо лучшая производительность, которую мы получили бы с помощью canvas/webgl, не так ли?
Нет, я не могу согласиться.
HTML действительно очень хорош в node манипуляции и рендеринге. Но их слабость - это те фантастические эффекты, о которых вы говорите.
С другой стороны, webgl отлично подходит для причудливых эффектов, но имеет очень плохую манипуляцию node. Допустим, что при первой попытке вы создаете каждый node как один призыв к обратному вызову, 300 обратных вызовов, и вы можете сделать это. Вам придется думать и обманывать, думать и обманывать, чтобы избавиться от призывов к рисованию (вызовы webgl).
Пример, который я видел и так могу говорить. Cocos2d-js может быть более подходящим, чем Pixi.js
или ThreeJS
. Это очень хороший 2d бесплатный движок со свободной студией и мощным резервом на холсте. Существует также один базовый эффект, который вам может понадобиться, с девятью срезами. Но даже эта простая вещь из девяти срезов сделает 9 обратных вызовов, и вы можете быстро увидеть свою производительность. Я также сделал тесты производительности с cocos2d, и я могу сказать, что 400 наиболее простых спрайтов рядом друг с другом работают только 30 кадров в секунду.
Причина, по которой производительность настолько низкая, - это то, что движок (какой-либо движок) не имеет информации о том, чего именно вы пытаетесь достичь. Большинство двигателей предложит вам только один или два способа, как сделать что-то. И если я выбираю, я хочу, чтобы каждое отдельное изображение было одним спрайтом (один node), двигатель не сможет упростить его.
Если бы я был вами, я бы не использовал какой-либо движок и сделал бы это только с webgl. Но это означает, что вы должны знать webgl, и у вас нет резерва на холст. Задача представляется очень сложной, и снова некоторые демонстрации. У обоих трехъядерных процессоров и playcanvas есть бесплатный редактор в браузере. Playcanvas выпустила новую версию редактора всего 2 дня назад. И редакторы gui - это HTML, оба. Мы говорим о машинах webgl, которые предпочитают HTML gui. Также многие разработчики игр также предпочли HTML.
Итак, HTML - неплохой вариант, но если вам действительно нужно использовать webgl, вы должны быть готовы. Ваша задача может быть невозможна для двигателей.