Performance
- 웹 게임 클라이언트 성능 모니터링을 Sentry Metrics와 Issue로 나눠 설계하기2026-10
PixiJS 웹 게임에서 FPS와 RTT를 1분 단위로 집계해 Metrics로 보내고, 저하가 이어질 때만 Issue로 알리도록 설계했다.
- 클라이언트 성능 모니터링의 slow/frozen frame 판정과 알림 정책2026-04
순간 FPS 기반 알림을 Android Vitals와 같은 프레임 시간 기반 slow/frozen frame 비율로 바꾸고, FPS·메모리 알림을 씬 단위 단계별 최초 1회로 통일했다.
- Unity 클라이언트 이벤트 로깅·성능 모니터링 시스템 구성2026-03
Firebase·AppsFlyer·이벤트 수집 SDK 래퍼를 하나의 로거로 묶고, BeforeSceneLoad 초기화와 오프라인 큐, FPS·메모리 모니터링을 붙인 구조를 정리한다.
- Android Swappy FPS 고착으로 느린 세션 비율이 높아진 문제 해결2026-01
Android Vitals 느린 세션 문제를 가설 소거로 추적해, 45 FPS 요청을 Swappy가 30·40 FPS로 바꾸고 고착시키는 원인을 찾아 호환 FPS로 해결했다.
- Start-End 쌍 이벤트 로그의 실패 시나리오 검증과 오프라인 재전송2026-01
소요 시간과 성공 여부가 중요한 Start-End 이벤트 로그를 실패 상황에서 검증하고, 네트워크 단절 중 로그를 큐에 보관했다가 복구 후 재전송하도록 만들었다.
- Unity Burst AOT Settings의 의미와 도입 판단2025-12
Player 빌드용 Burst AOT Settings 항목의 의미와 빌드 종류별 설정, 옵션만 켜서는 코드가 빨라지지 않는 이유, 도입 비용을 정리했다.
- 홀덤 승률 몬테카를로 시뮬레이션 성능 개선2025-10
LINQ Any()로 인한 O(n²) 카드 조회와 과도한 List 할당을 HashSet과 사전 할당으로 바꿔 시뮬레이션 횟수를 100배 늘렸다.
- Unity Project Auditor가 지적하는 GC 할당 코드 정리2025-10
Project Auditor의 Major issues로 잡힌 DateTime.Now, LINQ, GetComponentsInChildren, Input.touches, Object.name, 박싱을 이유와 대안별로 정리했다.
- C++ 룸 서버 미니 덤프(.dmp)로 크래시 디버깅2024-09
비정상 종료 시 남은 미니 덤프를 릴리스 태그, 배포 모듈, PDB와 맞춰 Visual Studio에서 분석하는 절차.
- Android Performance Tuner의 InvalidAnnotation 오류 해결2024-06
빌드에 포함되지 않은 씬에서 SetCurrentAnnotation이 InvalidAnnotation을 내는 문제를 Advanced Annotation 설정으로 우회했다.
- Android Performance Tuner로 씬 로딩 시간 측정하기2024-05
Unity 씬 로딩 구간을 Android Performance Tuner의 loading group·event로 기록해 콜드 스타트 시간을 측정한다.
- 서비스 웜업으로 진입 API 응답 시간 줄이기2023-01
서비스 기동 직후 커넥션·캐시 초기화를 미리 수행하는 웜업의 개념과, 사용자 진입 API에 적용한 판단을 정리했다.
- UGUI Layout Group 사용을 피해야 하는 이유2022-09
Layout Group이 dirty 처리마다 GetComponent로 계층을 거슬러 올라가는 비용과, 앵커·수동 레이아웃으로 대체하는 방침을 정리했다.