requestAnimationFrame을 특정 프레임 속도로 제한
requestAnimationFrame은 부드러움과 최적화로 인해 선호되는 애니메이션 방법이 되었습니다. 그러나 애니메이션 속도를 제어해야 하는 상황이 있습니다. 이 문서에서는 requestAnimationFrame을 특정 프레임 속도로 조절하여 기기 성능에 관계없이 일관된 애니메이션 속도를 보장하는 방법을 다룹니다.
조절에 대한 한 가지 접근 방식은 마지막 프레임 루프 이후 경과된 시간을 계산하고 지정된 FPS가 실행될 때만 그리는 것입니다. 간격이 경과되었습니다. 이 방법에는 시간 간격을 추적하기 위한 변수 설정이 포함됩니다.
<code class="javascript">var fpsInterval = 1000 / fps; // Convert FPS to milliseconds var then = Date.now(); // Start time of the current animation loop</code>
애니메이션 루프는 requestAnimationFrame을 사용하여 구현되고 지속적으로 호출됩니다. 루프 내에서는 마지막 루프 이후 경과된 시간을 계산하여 지정된 FPS 간격이 경과한 경우에만 드로잉을 수행합니다.
<code class="javascript">function animate() { requestAnimationFrame(animate); now = Date.now(); elapsed = now - then; if (elapsed > fpsInterval) { then = now - (elapsed % fpsInterval); // Adjust for non-multiple FPS intervals // Put your drawing code here } }</code>
이러한 조절 기법을 사용하면 지정된 시간에 드로잉 코드가 실행됩니다. 다양한 성능을 갖춘 기기에서도 일관된 애니메이션 속도를 제공하는 FPS.
위 내용은 requestAnimationFrame을 특정 프레임 속도로 조절하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!