requestAnimationFrameでfpsを制御しますか?
どうやら requestAnimationFrameは、事実をアニメーション化するための事実上の方法のです。それはほとんどの場合私にとってはうまくいきましたが、今私はいくつかのキャンバスアニメーションを実行しようとしていて、私は疑問に思っていました。私はrAFの目的が一貫してスムーズなアニメーションのためであることを理解しており、アニメーションが途切れる危険を冒す可能性がありますが、今のところ大幅に異なる速度でかなり恣意的に実行されているようです。どういうわけか。 私は使用しますsetIntervalが、rAFが提供する最適化が必要です(特にタブにフォーカスがあると自動的に停止します)。 誰かが私のコードを確認したい場合、それはほとんどです: animateFlash: function() { ctx_fg.clearRect(0,0,canvasWidth,canvasHeight); ctx_fg.fillStyle = 'rgba(177,39,116,1)'; ctx_fg.strokeStyle = 'none'; ctx_fg.beginPath(); for(var i in nodes) { nodes[i].drawFlash(); } ctx_fg.fill(); ctx_fg.closePath(); var instance = this; var rafID = requestAnimationFrame(function(){ instance.animateFlash(); }) var unfinishedNodes = nodes.filter(function(elem){ return elem.timer < timerMax; }); if(unfinishedNodes.length === 0) { console.log("done"); cancelAnimationFrame(rafID); instance.animate(); …