2017-01-11 4 views
1

Мы опубликовали холст HTML5 через Adobe Animate. И уменьшили размер файла до менее 2 МБ, и он загружается менее чем за 3 секунды во всех браузерах. Но у нас есть проблемы с кадрами (FPS) в Google Chrome.Adobe Animate HTML5 Canvas проблема с Google Chrome. Анимация отложена

Мы дезактивировали двумерный холст-хром-ускоритель в флагах Chrome, но по-прежнему возникают проблемы, при которых анимация работает плавно при больших размерах экрана.

Есть ли способ опубликовать холст в анимации, чтобы этого не произошло? Или есть какой-то код JavaScript, позволяющий Chrome загружать анимацию с правильным FPS?

Мы протестировали в IE, Edge и FF, и все эти браузеры работают плавно. Проблема только в Google Chrome.

+0

После дальнейших экспериментов, кажется, мы также получаем запаздывание на устройствах, которые 4k. – Michael

+0

Пожалуйста, предоставьте весь соответствующий код в [mcve] в самом вопросе. –

ответ

0

Проанализировав это, я обнаружил, что код вызывает большое количество вызовов drawImage. На моей машине он потратил 86% своего времени на призывы drawImage.

Возможно, что он перерисовывает большие изображения в каждом кадре. Посмотрите, есть ли способ остановить это.

Попробуйте удалить фоновые изображения и иметь только линии, если отставание исчезает, у вас есть свой ответ.

Потенциально отношение:

Why does chrome struggle to display lots of images on a canvas when the other browsers don't?

+0

drawImage должен быть одной из самых быстрых операций на холсте. – Kaiido

+0

нет, если его называют миллиардом раз. Кажется, это проблема. Как я уже сказал, на основе профилирования используется 86% циклов процессора. Не стесняйтесь повторять тест на другом оборудовании. – gburton

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