재현 가능한 작은 벤치마크 만들기
장면을 선택하고 이를 통과하는 경로를 스크립팅합니다. 예를 들어 레벨을 다시 시작하고 고정된 장애물 시퀀스를 통과한 다음 혼잡한 효과 영역을 트리거합니다. 브라우저, 창 크기, 자산 상태 및 장면 콘텐츠를 일관되게 유지하세요. 애니메이션 콜백 사이의 시간과 업데이트 및 렌더링 기능에 소요된 시간을 기록하는 동시에 브라우저 개발자 도구를 사용하여 긴 작업과 렌더링 활동을 검사합니다.
단일 최상의 프레임보다는 분포 또는 반복 샘플을 비교하십시오. 문제가 초기 로드, 꾸준한 재생 또는 전환 중에 발생하는지 확인하세요. 간단한 진단 오버레이는 플레이하는 동안 최근 프레임 간격을 표시할 수 있지만 측정 코드 자체가 작업을 추가하므로 비교 중에 과도한 로깅을 제거하거나 비활성화합니다.
브라우저 타이밍을 판결이 아닌 증거로 사용
performance.now()는 로컬 측정을 위한 고해상도 타임스탬프를 제공하며 PerformanceObserver는 지원되는 성능 항목을 보고할 수 있습니다. 선택적 항목 유형을 사용하기 전에 supportedEntryTypes를 확인하세요. 예를 들어 장시간 작업 보고는 모든 브라우저에서 사용할 수 없습니다. 감지된 긴 작업은 메인 스레드 차단을 가리키지만 어떤 코드 줄이나 제품 동작이 이를 유발했는지는 설명하지 않습니다.
변경 후에는 가능하면 둘 이상의 대표 장치에서 동일한 시나리오를 반복한 다음 제어 응답과 시각적 안정성을 수동으로 확인하세요. 장면, 브라우저, 샘플 수, 변경된 증상 등 간결한 결과를 기록합니다. 한 시스템에서 보편적인 프레임 속도 주장를 게시하지 마십시오. 성능은 하드웨어, 브라우저, 디스플레이 및 경쟁 작업에 따라 달라집니다.
브라우저 게임 성능 측정 관련 질문
평균 FPS가 게임을 평가하기에 충분합니까?
아니요. 평균은 플레이어가 알아차리는 간헐적인 지연을 숨길 수 있습니다. 프레임 시간 변화를 검사하고 이를 특정 상호 작용 또는 입력 지연 증상과 연결합니다.
PerformanceObserver는 모든 속도 저하를 식별할 수 있습니까?
아니요. 렌더링 비용에 대한 완전한 설명이 아니라 지원되는 성능 항목을 보고합니다. 브라우저 프로파일러 및 재현 가능한 게임 시나리오와 함께 사용하세요.
추가 읽을거리
오래된 정보를 발견하셨나요? 수정 사항 제보