3D 도시 씬의 성능을 쟀다. 초당 58.8프레임. 합격이다.
며칠 뒤 검수 영상을 뽑으려고 20초 연속 촬영을 돌리면서 다시 쟀다. 10.8.
같은 빌드, 같은 씬, 같은 컴퓨터다. 5배가 넘게 차이 났다.
어느 쪽이 진짜인가
처음엔 성능이 퇴보한 줄 알고 최근 변경을 뒤졌다. 바뀐 게 없었다. 그러다 두 측정의 조건 차이가 하나 눈에 들어왔다.
낮은 값이 나온 쪽은 촬영 중이었다. 20초 동안 프레임마다 화면을 파일로 저장하고 있었다. 수백 장을 디스크에 쓰면서 동시에 성능을 잰 것이다.
저장이 프레임을 막았을 가능성이 크다. 솔직히 말하면 범인 확정까지는 못 갔다. 하지만 확정할 수 있는 게 하나 있었다.
계측기가 대상보다 무거우면
잰 것은 대상이 아니라 계측기다. 촬영이라는 무거운 장치를 붙인 채 잰 10.8은 “도시의 성능”이 아니라 “도시 + 촬영기의 성능”이다. 이 수치로 도시를 판정하면 멀쩡한 씬을 느리다고 오판하게 된다.
반대도 위험하다. 두 수치가 다 기록에 남아 있으면, 나중에 보는 사람은 유리한 쪽을 골라 믿게 된다.
수치에 조건을 묶었다
규칙을 정했다. 성능 수치는 촬영 없이 잰 것만 인정한다. 그리고 기록에 남기는 모든 성능 수치에는 측정 조건을 같이 적는다. 조건 없는 수치는 수치가 아니라 소문이다.
재발방지 체크리스트
① 성능 수치에는 측정 조건(촬영·녹화·디버그 여부)을 반드시 같이 적는다.
② 같은 대상에서 두 수치가 크게 다르면 평균 내지 말고 환경 차이부터 찾는다.
③ 무거운 계측과 함께 잰 수치는 판정에 쓰지 않는다.
④ 측정 도구가 측정 대상을 방해하고 있지 않은지 먼저 의심한다.
① 성능 수치에는 측정 조건(촬영·녹화·디버그 여부)을 반드시 같이 적는다.
② 같은 대상에서 두 수치가 크게 다르면 평균 내지 말고 환경 차이부터 찾는다.
③ 무거운 계측과 함께 잰 수치는 판정에 쓰지 않는다.
④ 측정 도구가 측정 대상을 방해하고 있지 않은지 먼저 의심한다.