Почему drawImage работает в Safari намного быстрее, чем Chrome или Firefox? - PullRequest
1 голос
/ 23 марта 2012

Я сделал небольшой визуализатор HTML canvas для удовольствия и заметил, что он ужасно работает в Chrome, довольно плохо в Firefox, но совершенно потрясающе в Safari, включая iPhone и iPad!

Может кто-нибудь объяснить, почему?

Я думаю, что код должен быть довольно простым, но в основном я рисую точки для расположения мыши (или касания), затем копирую холст на временный холст, используя drawImage.Оттуда я очищаю холст дисплея, затем копирую временный холст обратно (4 раза), но применяю несколько вещей, таких как вращение, смещение, прозрачность и масштабирование (и игра с некоторыми различными globalCompositeOperations), все с использованием drawImage.Таким образом, в общей сложности drawImage вызывается 5 раз в каждом цикле.

Вы можете посмотреть демонстрацию здесь: http://lakenen.com/vis.html

Любое понимание будет с благодарностью!

PS.попробуйте это на iPad, если можете;это довольно аккуратно с мультитач:)

1 Ответ

0 голосов
/ 23 марта 2012

Поскольку профилировщик производительности практически идентичен в Safari и Chrome, вы сможете определить это самостоятельно.Демонстрация отлично работает как в Safari, так и в Chrome на моей машине.

В любом случае, я не могу сказать вам, почему drawImage работает хуже в Chrome, чем Safari, только в том случае, если он работает , когда изображение не загружается изатем рисуется. В противном случае Chrome кажется быстрее в Windows.

Вот простой jsperf, который я сделал некоторое время назад. Кажется, что Chrome 19 работает в два раза быстрее, чем сафари на моемWindows 7 машина.

...