더 빠른 스크롤 효과에 대해 this article을 읽은 후 나는 정말로 흥분하고있었습니다. 난 성능 차이를 발견 할 수 있는지 Warry의의 방법을 구현 갔다 - 스크롤 이벤트 리스너 사용하는 것에 비해 : 기사onScroll없는 빠른 스크롤?
window.addEventListener('scroll', function() {
console.log('Scrolling: ' + window.pageYOffset);
});
코드 : 코드 출력과 동일한에게의
function loop() {
if (lastPosition == window.pageYOffset) {
requestAnimationFrame(loop);
return false;
} else lastPosition = window.pageYOffset;
console.log('Scrolling: ' + window.pageYOffset);
// make sticky calculations...
requestAnimationFrame(loop);
}
loop(); // start loop
이 두 조각을 (Y) 오프셋 및 동등한 성능 - 현명한 것으로 보입니다. 그래서 제 질문은 : 기사가 맞습니까?
또한 requestAnimationFrame
은 (는)이 그림을 어떻게 만듭니 까? 브라우저에 다시 페인트를 수행하길 원한다는 것을 알려줍니다. 또는 ... 위치가 단순히가는 길에 고정되어 있습니까? 끈적 끈적한 요소에 대한 플러그인을 작성 중이므로이 주제에 관심이 있습니다.
모든 정보 또는 조언을 부탁드립니다!
"* 성능은 비슷합니다."- 어떻게 측정 했습니까? – Bergi
요점은 더 효과적입니다 * 효과 *. 콘솔에 로깅하는 경우 가능한 다른 수 또는 로그를 제외하고 차이를 느끼지 않습니다. – Bergi
출력은 각 틱마다 동일합니다. 또한 Chrome의 DevTools에서 렌더링 기능 (페인트 깜박임, 레이어 테두리, FPS 측정기 및 스크롤 성능 문제)을 토글하여 고정 요소가 어떻게 수행되는지 확인했습니다. 눈에 띄는 차이는 없었습니다. 나는 이것을위한 시험을 쓰지 않았다; 다른 사람들이이 주제에 관해 나에게 무엇을 말해 줄 수 있는지 궁금해. – JasonK