Skip to content

fix: OBS 모드 시 숨겨진 오버레이에 키 이벤트 이중 전송 차단#60

Draft
Copilot wants to merge 3 commits intofeat/obs-modefrom
copilot/analyze-obs-mode-performance
Draft

fix: OBS 모드 시 숨겨진 오버레이에 키 이벤트 이중 전송 차단#60
Copilot wants to merge 3 commits intofeat/obs-modefrom
copilot/analyze-obs-mode-performance

Conversation

Copy link

Copilot AI commented Mar 7, 2026

OBS 모드가 오버레이보다 게임 FPS를 더 떨어뜨리는 원인 분석 및 핵심 병목 수정.

근본 원인: OBS 모드 시 오버레이 윈도우는 SW_HIDE로 숨겨지기만 하고 WebView2 프로세스는 계속 실행됨. 키 이벤트(keys:state, input:raw)가 OBS WebSocket 숨겨진 오버레이 양쪽에 동시 전송되어, 기존 오버레이 비용 + OBS 추가 비용이 합산됨.

코드 변경

  • src-tauri/src/state/app_state.rs — OBS 모드 활성 시 오버레이 윈도우로의 keys:state, input:raw emit을 건너뜀
// 변경 전: OBS와 오버레이 양쪽에 전송
if app_state.obs_bridge.is_running() {
    app_state.obs_bridge.broadcast_key_event(...);
}
// 오버레이에도 항상 전송 ← 문제
overlay.emit("keys:state", &payload);

// 변경 후: OBS 모드면 오버레이 전송 생략
if app_state.obs_bridge.is_running() {
    app_state.obs_bridge.broadcast_key_event(...);
} else {
    overlay.emit("keys:state", &payload);
}

분석 보고서

  • docs/obs-mode-performance-analysis.md — 4가지 질문(가설 검증 / OBS 최적화 부족 여부 / 숨겨진 오버레이 리소스 소모 / 기타 병목)에 대한 코드 기반 분석 + 후속 개선 방안(P1: 오버레이 destroy, P2: 글로벌 emit 범위 축소)
Original prompt

해당 레포는 기존 키뷰어 기능을 오버레이 윈도우로 사용하면 키뷰어와 같이 실행 중인 게임에 프레임드랍을 유발하기 때문에 만약 병목이 투명 오버레이 합성 비용, 즉 컴포지팅 비용이 큰 비중을 차지할거라는 가설하에 오버레이 대신 obs 에 브라우저로 랜더링 하는 기능을 추가한 결과물이야. 아직 초기 구현만 된 상태지만 테스트 결과 기대와 달리 오히려 오버레이 윈도우 사용 시보다 게임 프레임을 더 떨어뜨리는 측정 결과가 나왔어. 그래서 내가 궁금한건 이거야

  1. 가설이 잘못되었던건지

  2. obs 모드 최적화가 아직 부족하기 때문인지

3 혹시 obs 모드 사용 시 기존 오버레이 윈도우를 숨기게 되어있는데 이게 완전히 종료가 아니라 단순 hide라 자원을 같이 먹고 있는건 아닌지

  1. 혹은 obs 모드에 다른 병목이 있는지

코드를 분석하고 조사해서 보고서를 부탁할게. obs모드 작업에 대한 플랜은 docs 폴더에 존재해


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits March 7, 2026 14:38
OBS 모드가 활성화되면 키 이벤트(keys:state, input:raw)를 숨겨진 오버레이
윈도우에 전송하지 않도록 변경. 이전에는 OBS WebSocket과 오버레이 윈도우
양쪽에 이벤트가 동시에 전송되어 리소스가 이중으로 소모되는 문제가 있었음.

docs/obs-mode-performance-analysis.md에 전체 분석 보고서 포함.

Co-authored-by: lee-sihun <111095268+lee-sihun@users.noreply.github.com>
Co-authored-by: lee-sihun <111095268+lee-sihun@users.noreply.github.com>
Copilot AI changed the title [WIP] Investigate performance issues with OBS overlay mode fix: OBS 모드 시 숨겨진 오버레이에 키 이벤트 이중 전송 차단 Mar 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants