淺談瀏覽器動畫與requestAnimationFrame

瀏覽器動畫的實現是通過在一定頻率下重新渲染得到的,每一幀都間隔相同的時間。在CSS動畫中,瀏覽器知道動畫的開始和每一幀的時間間隔,所以動畫的效果很流暢。但在用JS實現的動畫中,一般用定時器實現時,存在着時間間隔並不可靠的問題,如果線程裏有其他任務存在,定時器執行任務的時間間隔並不一定能保證是自己設定的數值;這樣容易導致動畫產生延遲停滯,效果大打折扣;
爲了解決這個問題,引入了requestAnimationFrame()方法。該方法屬於window,效果類似於CSS動畫,而不用再擔心JS中的時間間隔不可靠問題。requestAnimationFrame()方法的時間間隔一般定爲與顯示器刷新頻率相一致;使用方式與setTimeout()方法類似
目前高級瀏覽器已經實現這一方法,只是各個瀏覽器的名稱不一致;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章