벤치마크
실제 실행 중인 게임에서 측정된 증거를 생성합니다. 저장소의 tools/benchmark.mjs와
tools/snap.mjs를 사용하며, 선택한 워크트리와 해당 게임 콘텐츠 핑거프린트를 유지합니다. 실험용 체크아웃은
/home/jayjay/thrust-zarch-experimental에 있으며, 기존 main은 다른 게임 버전입니다.
실행 전에 적절한 체크아웃을 찾으십시오. 명령어와 씬 API에 대해서는 워크플로우를 읽으십시오.
변경된 동작에 도달하는 짧은 픽스처를 선택하십시오. 가능하면 기존 씬을 재사용하고, 일반 캡처에는 기본 coastal-flight/research 픽스처를 사용하십시오. 한 번에 하나의 브라우저만 실행하십시오. 스크린샷, 녹화, 다른 테스트 브라우저 또는 CPU 회귀 배치가 동시에 실행되지 않는 상태에서 벤치마킹하십시오. 미디어는 이후에 캡처하십시오.
이전/이후 비교 주장을 위해서는 이전 코드의 기준선을 유지하고 동일한 씬, 시드, 브라우저, 렌더러, 해상도 및 샘플링 정책을 반복하십시오. 도구는 설정이 일치하지 않는 비교를 거부합니다. 변경되지 않은 코드를 반복 실행하는 것은 개선이 아닌 반복성을 측정합니다. 기준선 누락이나 실패한 실행을 은폐하지 마십시오.
PNG 및 디코딩된 클립 연락 시트를 검사하십시오. 움직임이 주장되는 경우 더 많은 프레임을 검사하거나 클립을 재생/탐색하십시오. 세 개의 썸네일만으로 모든 중간 프레임을 확인할 수 없습니다. 실제 주장과 함께 렌더링된 증거가 지지하는 내용을 보고하십시오. 개체 수만으로는 보이는 물고기를 확인할 수 없으며, 빈 프레임이 아닌 것만으로 올바른 배경을 확인할 수 없습니다. 시각적 관찰을 자동화된 검사와 구분하여 유지하십시오.
실행 디렉토리, 소스 식별자, 관련 숫자, 실패 및 제한 사항을 반환하십시오. SwiftShader는 소프트웨어 렌더러이며, XR 에뮬레이션은 헤드셋 자격이 아닙니다. CPU 단계는 평활화된 CPU 비용이며, 드로우 카운터는 마지막 렌더 패스에서 가져옵니다. 비디오 인코딩 속도는 결코 게임 FPS가 아니며, 인코딩된 지속 시간은 캡처 시간과 다를 수 있습니다. HTML 개발 보고서가 요청되면 증거를 $devlog에 전달하십시오. 벤치마킹은 독립적으로 계속 사용할 수 있습니다.