2015-08-05 4 views
0

Я новичок в мольберте js. Когда мы конвертируем проект flash/AS3 в проект HTML5Canvas с использованием adobe flash cc, анимации и мувиклипы станут моделями Movieclip. Но в easeljs мы можем использовать Sprite для отображения анимации. Но использовать movieclip легко, так как flash будет генерировать его.easeljs Movieclip vs Sprite

Мой вопрос: есть ли преимущества использования easeljs Sprite вместо easeljs Movieclip с точки зрения производительности?

ответ

1

Sprite и MovieClip полностью отличаются в EaselJS.

  • Во Flash, MovieClips расширяются спрайты, поэтому они имеют схожие функции.
  • В EaselJS, спрайт отображает кадры в SpriteSheet и мувиклип представляет собой содержание Container, который понимает концепции кадров, в том числе сроков и действий кадров.

MovieClips обычно используются только с выходом Flash CC, хотя вы можете сделать их вручную. В идеале Flash может экспортировать Sprites и SpriteSheets, когда это имеет смысл - однако из-за характера анимации временной графики Flash было бы невероятно сложно определить, когда и как экспортировать Sprites/SpriteSheets vs MovieClips.

Строго говоря о производительности, спрайты должны быть лучше, потому что они используют одно (или несколько) растровые изображения для всех кадров, что дает преимущества GPU. Многократные, большие изображения (которые происходят с разными спрайтами или просто одиночными спрайтами с большим количеством больших кадров, которые охватывают изображения) могут фактически вызвать проблемы с производительностью, когда графический процессор переключает текстуры.

Существует также SpriteSheetBuilder classexample), которые вы можете обратиться, который принимает флэш-вывод CC, и генерирует время выполнения SpriteSheet, что дает вам преимущество производительности спрайтов, со сложными выходным вектором/изображений Flash CC.

Надеюсь, что немного очистит.

Смежные вопросы