Итак, я построил эту маленькую интерактивную рулетку:Как улучшить мобильную производительность моей анимации?
http://techgoldmine.com/roulette/
Мне нужно, чтобы работать на мобильных устройствах, а также рабочий стол. Первоначально я обрабатывал взаимодействие, когда пользователь взаимодействовал с кругом SVG, перекрывающим изображение, однако для целей тестирования я удалил это.
В настоящее время анимации осуществляется с помощью события с setInterval функции:
$('.roulette').bind('touchstart', function() {
if (inMotion == true) {
cleanUp();
}
intervalvar = setInterval(spinWheel, 24);
// spinWheel();
$(document).bind('touchend', function() {
count = Math.abs(force)
mouseup = 1;
});
});
После вычисления проводятся, я поворачиваю в рулетку с помощью этой функции:
function rotate(a) {
roulette.css({
'-webkit-transform': 'rotate(' + a + 'deg)',
'-ms-transform': 'rotate(' + a + 'deg)',
'-o-transform': 'rotate(' + a + 'deg)',
'-moz-transform': 'rotate(' + a + 'deg)',
'transform': 'rotate(' + a + 'deg)'
});
}
Он работает отлично в браузере, однако, когда дело доходит до мобильного телефона, он значительно отстает. Любые идеи о том, как повысить производительность?
CSS3 в порядке, но я думаю, что это было бы лучше с холстом HTML5. Это должно выглядеть/чувствовать себя лучше ** также ** на мобильных устройствах. –