Snaplytics JS Tests

프레임 스키핑 테스트

디스플레이와 시스템이 매번 화면 갱신마다 새 프레임을 제대로 표시하는지, 아니면 도중에 일부를 조용히 버리는지 확인하세요. 테스트는 측정된 주사율을 기준으로 각 애니메이션 프레임의 시간을 재고 하나 이상의 프레임이 빠진 구간을 표시합니다. 정확한 측정을 위해 실행 중에는 이 탭에 포커스를 유지하세요.

Hz

실시간 모니터 실행 중 — 정확한 측정을 위해 이 탭에 포커스를 유지하세요.

실시간
최근 프레임정시건너뜀
프레임 수집 중…
주사율
Hz
정시 프레임
0
건너뜀
0
건너뜀 비율
최대 간격

카메라 캡처 스트립 (선택)

마커가 렌더링된 프레임마다 한 칸씩 전진합니다. 빠른 셔터로 화면을 촬영하거나 슬로우 모션으로 녹화하세요 — 빠진 단계는 드롭된 프레임을 드러냅니다. 위 감지기에 부차적입니다.

감지기 작동 방식

브라우저는 화면 갱신마다 requestAnimationFrame을 한 번씩 호출하므로, 콜백 사이의 간격은 하나의 갱신 간격(60 Hz 패널에서 약 16.7 ms, 144 Hz에서 6.9 ms)에 가까워야 합니다. 테스트는 이 간격들을 기록하고 중앙값을 취해 예상 간격을 설정하며, 이는 곧 실제 주사율이기도 합니다. 어떤 간격이 예상 간격의 약 1.5배 이상으로 늘어나면 최소 한 프레임이 표시되지 않은 것이고, 테스트는 간격을 가장 가까운 정수 간격 수로 반올림해 몇 프레임이 드롭되었는지 추정합니다. 탭 전환이나 창 최소화로 인한 긴 일시 정지는 건너뛰기로 계산하지 않고 무시됩니다.

프레임 스키핑과 스터터, 저더의 차이

이 용어들은 겹치지만 서로 다른 결함을 설명합니다. 프레임 스키핑(드롭된 프레임)은 파이프라인이 한 갱신 주기에 대해 새 이미지를 전달하지 못할 때 발생하므로, 이전 프레임이 두 번 표시되고 움직임이 끊기는 것처럼 보입니다. 스터터는 고르지 못한 프레임 페이싱, 즉 프레임은 도착하지만 간격이 불규칙한 상태로, 기술적으로 드롭된 것은 없어도 덜컹거리게 보입니다. 저더는 프레임 속도가 주사율로 깔끔하게 나누어지지 않을 때 생기는 안정적이고 리듬감 있는 불균일로, 60 Hz 화면에서 24 fps 영화가 그 예입니다. 이 테스트는 갱신 수준에서 실제로 드롭된 프레임을 대상으로 합니다. 페이싱이 고르지 못하면 건너뜀이 없는 실행도 여전히 완벽하게 부드럽지는 않게 느껴질 수 있습니다.

모니터가 프레임을 건너뛰는 이유

  • 케이블 또는 대역폭 제한: 고해상도에서 높은 주사율은 케이블이나 포트 버전이 감당할 수 있는 한계를 넘을 수 있어 링크가 프레임을 드롭합니다. 이것이 모니터 최대 주사율에서만 건너뛰는 현상의 전형적인 원인입니다.
  • 오버클럭된 주사율: 패널을 정격 Hz 이상으로 밀어올리면 안정적으로 보이지만 새 프레임을 보여주는 대신 조용히 프레임을 반복합니다.
  • GPU, 드라이버 또는 열 문제: 오래된 드라이버, 과부하나 과열된 GPU, 공격적인 절전 모드는 화면에 완성된 프레임이 도달하지 못하게 할 수 있습니다.
  • 백그라운드 부하와 브라우저 제한: 다른 탭이나 앱에서의 무거운 작업, 그리고 포커스되지 않은 탭에 대해 브라우저가 requestAnimationFrame을 늦추는 것 모두 이 테스트가 측정하는 간격을 유발합니다.

이 테스트가 측정하는 것과 측정하지 않는 것

이것은 특정 게임 엔진이 아니라 프레젠테이션 파이프라인(디스플레이, 케이블, GPU 출력, 드라이버, 브라우저)에 대한 브라우저 수준의 테스트입니다. 이 페이지가 포커스된 동안 시스템이 완성된 프레임을 모니터에 얼마나 안정적으로 전달하는지 보고합니다. 게임이 내부적으로 렌더링하는 프레임은 볼 수 없고, 입력 지연을 측정하거나 하드웨어 패턴 생성기를 대체할 수도 없습니다. 가장 신뢰할 수 있는 결과를 얻으려면 노트북을 전원에 연결하고, 무거운 백그라운드 탭을 닫으며, 이 탭에 포커스를 유지하고, 전체 시간 제한 실행이 완료되도록 두세요. 아래의 선택적 캡처 스트립은 빠른 셔터로 화면을 촬영하기 위한 것으로, 체감하기 어려운 건너뜀을 드러낼 수 있습니다.