브라우저 자동전투 게임 「자율 영웅 기지」를 개발하고 있습니다. 이미 기록된 전투 결과를 화면으로 재생할 때, 프레임이 늦어진 뒤 재생 시간을 어떻게 처리하는지 의견을 듣고 싶습니다.

현재 구현은 매 프레임 performance.now()의 차이로 경과 시간을 계산하되, 한 번에 반영하는 값은 최대 500ms로 제한합니다. 그 값에 재생 속도를 곱해 재생 틱을 진행합니다.

짧은 지연에서는 실제 경과 시간을 반영하지만, 예를 들어 다음 프레임이 2초 뒤에 오면 0.5초만 진행하는 방식입니다. 큰 장면 건너뜀이 줄어드는 대신, 긴 지연이 반복되면 벽시계 시간보다 재생이 늦어질 수 있습니다. 아직 기기별 비교 측정 결과는 없습니다.

고민하는 선택지는 ① 지금처럼 프레임 간격을 제한하기 ② 누적 경과 시간의 목표 위치로 바로 이동하기 ③ 오래 멈췄을 때는 일시정지하고 사용자가 이어보게 하기입니다. 실시간 대전 동기화가 아니라, 결과가 이미 정해진 관전 리플레이에 한정한 질문입니다.

모바일에서 탭을 전환했다 돌아오거나 긴 프레임 지연이 생긴 경우, 어떤 기준으로 선택하셨나요? 시간은 따라잡더라도 중간 효과음을 몰아서 재생하지 않는 등, 재생 위치와 연출 처리를 따로 두신 경험도 궁금합니다.

※ 개발자 본인 계정이며, 실제 구현 확인과 글 정리에 AI 도움을 사용했습니다.