Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Fix] 타이머 기능 개선 #198

Merged
merged 1 commit into from
Nov 28, 2024
Merged

[Fix] 타이머 기능 개선 #198

merged 1 commit into from
Nov 28, 2024

Conversation

Cllaude99
Copy link
Collaborator

@Cllaude99 Cllaude99 commented Nov 28, 2024

개요

Resolves: #181

PR 유형

어떤 변경 사항이 있나요?

  • 버그 수정

작업 내용

기존의 타이머에는 진행바가 다 소모되지 않았는데도 타이머가 먼저 끝난 문제점이 있었습니다. 이를 해결하기 위해 기존 코드를 검토한 결과, setInterval의 지연과 상태 업데이트와 UI 표현의 미묘한 타이밍 차이가 원인임을 발견했습니다. 기존 코드의 경우 setInterval을 사용하여 1초마다 상태를 업데이트하고, 진행바 애니메이션을 동기화했습니다. 하지만 브라우저의 처리 지연으로 인해 진행바와 상태가 항상 정확히 일치하지는 않았습니다. 결과적으로 진행바가 완전히 줄어들지 않았는데도 타이머가 종료되어 다음 단계로 넘어가는 문제가 발생했습니다. 이를 해결하기 위해 requestAnimationFrame을 도입했습니다. 이를 통해 브라우저의 리페인트 주기에 맞춰 실행되어 더욱 정확한 애니메이션과 타이밍을 제공할 수 있었고, 시작 시간을 기준으로 현재 경과 시간을 계산하여 상태를 업데이트하여, 지연 없이 정확한 동작이 가능하도록 하였습니다.


스크린샷

2024-11-28.11.48.01.mov

PR Checklist

PR이 다음 요구 사항을 충족하는지 확인하세요.

  • 커밋 메시지 컨벤션에 맞게 작성했습니다. Commit message convention 참고 (Ctrl + 클릭하세요.)
  • 변경 사항에 대한 테스트를 했습니다.(버그 수정/기능에 대한 테스트).

@Cllaude99 Cllaude99 self-assigned this Nov 28, 2024
@Cllaude99 Cllaude99 merged commit ef204ba into develop Nov 28, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

타이머 동작 시 에러
1 participant