Помимо новых функций, добавленных в мастер-сборку, стоит также отметить, что многие вещи были переработаны под капотом. Pixi.js теперь работает быстрее, чем когда-либо, даже со всеми новыми функциями.

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

Наряду с этим произошли некоторые крупные обновления позвоночника. Это все благодаря сообществу. Большое спасибо Сергею Горшечникову, который взял на себя управление и действительно помог сделать среду исполнения позвоночника Pixi.js еще лучше, исправив ошибки и предоставив больше функций позвоночника для работы с pixi, таких как скины.

Наряду со всеми «большими» вещами в Pixi.js было множество настроек и исправлений ошибок, которые помогли сделать его еще более стабильным. Многие из этих настроек были не только найдены сообществом Pixi.js, но и исправлены ими. Огромное спасибо всем, кто внес свой вклад в создание потрясающего Pixi.js v1.3.0.

Посмотрим, сможем ли мы сделать то же самое для 1.4.0 :D

Я также хотел бы выразить огромную благодарность Chad Engler aka englercj, который стал ключевым игроком в разработке Pixi.js. Чад вскочил на борт, помогая общаться с сообществом и внося свой замечательный кодовый мозг в дело. Pixi.js и его сообщество не были бы там, где они есть без него, так что да, славный Чад!

Вот формальный список всех обновлений pixi.js v1.3.0, которые вы тоже можете проверить:

  • Среда выполнения Spine теперь намного надежнее, с множеством небольших настроек и исправлений ошибок, чтобы сделать ее более совместимой.
  • Среда выполнения Spine теперь поддерживает скины.
  • Добавлен новый пример Spine (гоблины), чтобы показать, как работают скины.
  • Обновлен полифилл RequestAnimationFrame.
  • Пользовательские объекты hitAreas теперь могут быть кругами/прямоугольниками/полигонами.
  • Шейдер WebGL оптимизирован за счет удаления проекционной матрицы.
  • Рендеринг теперь использует связанный список для обхода объектов, увеличивая скорость рендеринга.
  • Оптимизирована функция addChild. Теперь это намного быстрее.
  • Добавлен новый графический объект, позволяющий рисовать примитивы.
  • Добавлен новый пример для демонстрации графического объекта.
  • Добавлены маски. Графический объект теперь можно использовать для маскировки другого пикси-объекта.
  • Добавлен новый пример для демонстрации маскировки.
  • Исходный код организован в красивую новую структуру.
  • Возможность включения/отключения сглаживания при создании средства визуализации webGL.
  • Исходные события мыши теперь передаются событиям взаимодействия пикси.
  • PreventDefault теперь не вызывается менеджером взаимодействия при нажатии мыши / touchStart.
  • setInteractive заменен интерактивным геттером/сеттером.
  • Множество других небольших исправлений ошибок и настроек, которые делают pixi еще лучше.

Что дальше?

Теперь, когда мы выпустили этот релиз, пришло время приступить к созданию следующего набора функций для pixi.js (*кашель!* фильтры, *кашель!* режимы наложения, *кашель!*)

До следующего раза, удачного кодирования!