Моё вчерашнее демо вызвало довольно активное обсуждение на Hacker News:
Show HN: Canvas engines performance comparison – PixiJS, Two.js, and Paper.js
Выделю интересный тредик про рисование текстур. Есть пример использования PixiJS для рисования огромного количества зайцев. Можно добавить больше 50 тысяч зайцев и не просесть в fps. Это действительно впечатляюще, хотя вполне объяснимо: там загружается всего 5 текстур зайцев, потом они просто переиспользуются. Текстуры работают быстрее чистого рисования графики, можно было бы сделать текстуру квадрата и добавлять её на поле. Хотя это было бы нечестно по отношению к другим библиотекам.
Вот ещё полезное обсуждение, почему все эти фреймворки не используются в обычных веб сайтах, раз они так быстро всё рисуют. Если кратко: из-за недоступности элементов, когда они просто отрисованы на канвасе и недоступности технологий типа webgl на всех устройствах.
И немного дискуссии про циклы и что лучше читается в коде: map, forEach и тд или старый добрый for loop. Мне тут справедливо указали на то, что обычный цикл for быстрее моего любимого функционального подхода.
Появился запрос сделать такой же тест на Greensock. Никогда не использовала, но будет интересно попробовать. Ещё писали про P5.js. Тоже можно добавить, хотя P5 просто не создана для подобных вещей, она заточена под генеративную графику и небольшие красивые примеры.
Напишите мне, если было бы интересно посмотреть какую-то ещё библиотеку.
#практика #обсуждения
Show HN: Canvas engines performance comparison – PixiJS, Two.js, and Paper.js
Выделю интересный тредик про рисование текстур. Есть пример использования PixiJS для рисования огромного количества зайцев. Можно добавить больше 50 тысяч зайцев и не просесть в fps. Это действительно впечатляюще, хотя вполне объяснимо: там загружается всего 5 текстур зайцев, потом они просто переиспользуются. Текстуры работают быстрее чистого рисования графики, можно было бы сделать текстуру квадрата и добавлять её на поле. Хотя это было бы нечестно по отношению к другим библиотекам.
Вот ещё полезное обсуждение, почему все эти фреймворки не используются в обычных веб сайтах, раз они так быстро всё рисуют. Если кратко: из-за недоступности элементов, когда они просто отрисованы на канвасе и недоступности технологий типа webgl на всех устройствах.
И немного дискуссии про циклы и что лучше читается в коде: map, forEach и тд или старый добрый for loop. Мне тут справедливо указали на то, что обычный цикл for быстрее моего любимого функционального подхода.
Появился запрос сделать такой же тест на Greensock. Никогда не использовала, но будет интересно попробовать. Ещё писали про P5.js. Тоже можно добавить, хотя P5 просто не создана для подобных вещей, она заточена под генеративную графику и небольшие красивые примеры.
Напишите мне, если было бы интересно посмотреть какую-то ещё библиотеку.
#практика #обсуждения
👍1