최종 갱신 (KST)

← 일감 목록
T-062

클라 — 설정에서 프레임 제한 고르기 (30 · 60 · 90 · 144 · 모니터 동기화) · FPS 텍스트 위치

태웅 Closed 우선순위 보통 목표 미정 · 보관됨

배경

지금은 Application.targetFrameRate·QualitySettings.vSyncCount를 어디서도 정하지 않는다. 바탕화면에 상주하는 앱이라 사용자가 프레임(= CPU·GPU 사용량)을 직접 고를 수 있어야 한다. 이 설정은 에디터 플레이와 빌드 양쪽에서 실제로 적용돼야 한다.

2026-09-18 범위 추가 — FPS 텍스트(회색 · 작게)를 창 네 구석 중 한 곳에 띄우고, 그 위치(숨김 포함)도 설정에서 고른다.

결정 (2026-09-18)

항목 결정
적용 담당 새 매니저 FrameRateManager (WindowManager는 창 제어 전담)
에디터 권위 에디터·빌드 모두 저장값 — 인스펙터는 첫 실행 기본값뿐. 고르면 즉시 저장·반영
기본값 프레임 60 · FPS 텍스트 숨김
FPS 텍스트 !System Canvas 맨 밑의 FpsTextPresenter — 0.5초 갱신 · raycastTarget 끔(클릭스루)

할 일

  • [x] 설정 화면(SettingPresenter)에 드롭다운 추가 — 항목: 30 · 60 · 90 · 144 · 모니터 동기화. 옵션 라벨은 코드가 채운다(기존 드롭다운 규약)
  • [x] 적용: 숫자 항목 = vSyncCount = 0 + targetFrameRate = N / 모니터 동기화 = vSyncCount = 1 (targetFrameRate는 무시됨)
  • [x] 적용 담당 결정 — FrameRateManager 신설
  • [x] PlayerPrefs 저장 — Display.FrameRate · Display.FpsTextPosition, 값이 바뀔 때만 즉시 Save()
  • [x] 에디터 권위 규칙 결정 — 에디터도 저장값. Settings 규칙.md 1장 예외로 적었다
  • [x] 기본값 결정 — 60
  • [x] FPS 텍스트 위치 드롭다운 — 숨김 · 네 구석. FpsTextPresenter가 구석으로 옮긴다
  • [x] 에디터 플레이 실측 — 프레임 항목별 FPS 숫자 · 위치 5개 · 멈췄다 켜도 유지
  • [x] ⚠️ 에디터 검증 — 에디터에서는 Game 뷰의 VSync 토글이 vSyncCount를 덮는다. 모니터 동기화가 에디터에서 실제로 먹는지 확인하고, 안 먹으면 한계를 규칙 문서에 적는다
  • [x] 빌드(.exe)에서 각 항목 실측 (프로파일러 또는 FPS 표시) — 투명 창 모드에서도
  • [x] Settings 규칙.md 키 표 갱신
  • [x] 빌드에서 FPS 텍스트 구석 위로 클릭이 통과되는지 확인

완료 조건

설정에서 5개 항목을 고르면 에디터 플레이와 빌드 모두 해당 프레임으로 돈다(실측). 빌드를 껐다 켜도 고른 값이 유지된다. FPS 텍스트가 고른 구석에 뜨고(숨김이면 안 뜨고) 클릭스루를 막지 않는다.

막고 있는 것 / 선행 일감

  • 없음

관련 커밋

  • 70e458d — 프레임 제한 · FPS 텍스트 위치 (2026-09-18 사용자 확인 통과)

참고