2012-02-13 3 views
3

Я строю карты, такие как карты Google. Там будут плитки изображений, связанных друг с другом. Карта будет изучена путем перетаскивания мышью, где после каждого перетаскивания будут загружены новые изображения. Для того чтобы исследовать, с помощью перетаскивания функциональности, я нашел два способа:есть разница в производительности между -transform translate ans scroll

  1. вызывая функцию прокрутки для прокрутки в нужном месте на карте
  2. применения CSS-преобразования переводят на карте таким образом, что правая часть карты входит в отображаемую область.

Вопрос в том, есть ли разница в производительности между методами? (в основном с точки зрения скорости рендеринга и плавности перетаскивания) Также есть ли какие-либо другие критерии, чтобы предпочесть один из методов?

ответ

1

Прокрутка лучше, потому что CSS-преобразования могут привести к повторным потокам документов, которые довольно дороги.

См: http://www.stubbornella.org/content/2009/03/27/reflows-repaints-css-performance-making-your-javascript-slow/

+0

Я понимаю, что это старая нить, но я исследовал это сегодня и наткнулся на этот тест, который показывает, что свиток 97% _slower_ чем перевести: https://jsperf.com/translate3d-vs-xy/76 – powerbuoy

0

Во время работы над мобильной игрой мы сделали что-то вроде этого.

Мы использовали библиотеку iScroll JS. http://cubiq.org/iscroll-4