Unity : 관리자 콘솔 구현 및 프리징 현상 개선
·
Unity
Unity DevConsole 프리징 개선 기록 : 반복 에러 콜랩스 + Flush 예산화 1) DevConsole의 기존 작동방식과 핵심 기술 이 DevConsole은 유니티 로그를 받아서 콘솔 UI에 텍스트로 뿌리는 구조다.핵심 흐름은 아래와 같았다.Application.logMessageReceivedThreaded 콜백으로 로그를 수신한다.유니티는 싱글쓰레드이기에 백그라운드 상의 멀티 쓰레드의 로그를 모두 수집하면 데드락 위험이 있어 lock 키워드를 통해 pending 버퍼에 로그를 쌓는 방식으로 데드락을 방지했다.콘솔이 열리면 버퍼에 쌓인 로그를 실제 콘솔 UI에 출력하는 lines 리스트에 옮긴다.lines 전체를 StringBuilder에 합쳐서 출력한다.추가로, “연속 중복(바로 직전 로..