Я играл с easeljs, и я обнаружил, что выступления начинают падать. В моем примере Chrome занимает около 3 секунд, чтобы добраться до этого момента, а Safari занимает 25 секунд, Firefox - повсюду.Снижение производительности Easeljs?
Вопросы:
- я делаю что-то неправильно?
- или это удар производительности, которого я должен ожидать от easeljs?
Пример Чтобы продемонстрировать падение производительности я переживаю, я создал простой круг перерисовывать анимации на петле, но фреймрейт быстро начинает падать. Если я вернусь к чистым API-интерфейсам canvas, он восстановит производительность.
Ниже ключевой отрывок из моей перерисовки, который выбирает метод, чтобы нарисовать круг:
if (counter.fps > 60) {
circle.graphics.beginFill('green')
circle.graphics.drawCircle(0,0, w/10)
circle.graphics.endFill();
stage.update();
} else {
context.beginPath();
context.arc(circle.x, circle.y, w/10, 0, 2 * Math.PI, false);
context.fillStyle = "darkred";
context.fill();
}
Посмотреть этот jsfiddle для демо: http://jsfiddle.net/AshCoolman/5xYxM/9/
Вариации Я пытался с аналогичными результатами :
- requestAnimationFrame (и pollyfill)
- Медленные кадров в секунду
(Грубый) сроки исполнения (OSX 10.8.2 на mid2012 Macbook воздуха)
хром v26.0.1410.43
- 0-3s = 90fps
- 3s = fps начало падения
- 6s = fps hits 60fps
Safari v6.0.2 (8536.26).17)
- 0-20s = 90fps
- 20s = FPS начинают падать
- 35s = кадр попадает 60fps
Firefox V20
- fsFiddle организовано: полностью неустойчивый
- lo чески организованы: Многое, как производительность Chromes, но гораздо более беспорядочный
+1 для хорошего улова глюка ФПА в. Кстати, вы действительно связаны с CreateJS. Если это так, мне нравится ваш код и приятно познакомиться! – markE
Спасибо! Приятно познакомиться с вами @markE. Я - оригинальный создатель библиотек (Грант Скиннер) - рад, что ты им нравишься. – gskinner
Это отлично работает, спасибо за jsfiddle –