簡體   English   中英

如何改善動畫的移動性能?

[英]How can I improve my animation's mobile performance?

因此,我建立了這個互動小輪盤:

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)'
            });
        }

它在瀏覽器中可以很好地工作,但是在移動方面卻滯后很多。 關於如何提高性能的任何想法?

不要將setInterval用於動畫。 移動設備具有CSS動畫功能,請將CSS用於動畫。 但是,如果您確實需要執行JS動畫,請使用requestAnimationFrame而不是setInterval並通過瀏覽器刷新來同步幀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM