DECODE_OVERLOAD 감지 조건 (meet-video.tsx의 diagnoseWaitingCase()).
bufferedAheadSec) > 1초 임에도 waiting 이벤트 발생meet-video.tsx의 getVideoPlaybackQuality() 로 droppedVideoFrames 급증 시 DECODE_OVERLOAD 로 진단되나 이미 재생 시작 후 감지되므로 사전 예방 불가| smooth | powerEfficient | 판정 |
|---|---|---|
| true | any | 고사양 → 720p |
| false | true (하드웨어 가속) | 고사양 → 720p |
| false | false (소프트웨어 디코딩) | 저사양 → 480p |
powerEfficient 추가 이유
Chrome은 첫 decodingInfo() 쿼리에서 smooth: false를 보수적으로 반환하는 경우가 있음. M4 MacBook Pro에서도 첫 실행 시 smooth: false가 나왔으나 powerEfficient: true (VideoToolbox 하드웨어 가속 동작 중)이었음 → powerEfficient로 보완 판정.
// apps/web/lib/utils.ts // 리소스 캐싱 전 호출 — 결과 캐시에 저장 const isLowPerformance = await initLowPerformanceDevice(); await cacheResources(fileNames, isLowPerformance, onProgress);
| 파일 | 변경 내용 |
|---|---|
apps/web/lib/utils.ts | initLowPerformanceDevice() async 추가, _checkDesktopDecodingCapability() 추가, 로깅 추가 |
hooks/use-guest-entry-socket.ts | await initLowPerformanceDevice() 로 교체 |
entities/guest-page-session/model/use-guest-page-session.ts | 동일 |
entities/guest-socket/model/use-guest-socket.ts | 동일 |
LogRocket에서 아래 키워드로 검색하여 기기별 판정 결과를 확인합니다.
| 로그 | 확인 내용 |
|---|---|
[LowPerf] decodingInfo | smooth / powerEfficient / supported 값 — 노트북/데스크탑만 출력 |
[LowPerf] result | isLowPerformanceDevice, ua, platform, hardwareConcurrency, deviceMemory — 전 기기 출력 |