화상회의 참여자 화면 최적 배치 알고리즘 개발기
0
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

이 게시물은 화상회의 참여자 수와 화면 공유, 디바이스 비율 제약을 고려해 최적 레이아웃 알고리즘을 설계하고 구현한 경험을 다룹니다. 요구사항으로 동적 참여자 수, 최소 높이 160px, 비율 범위(minRatio~maxRatio: 일반 참여자 4:3~16:9) 및 화면 공유의 고정 비율(16:9)과 공간 비중(예: 75%)을 제시합니다. 레이아웃은 GroupNode(박스 담는 말단)와 FlexNode(가로/세로로 자식 배치)로 구성한 계층적 트리 구조로 표현하고, 재귀적으로 최적을 계산합니다. 단일 그룹은 가능한 그리드 조합을 시뮬레이션해 제약을 만족하는 레이아웃 중 총 면적 최대와 빈 공간 최소를 선택하고, 마지막 행은 중앙 정렬로 최적화합니다. 복수 그룹(예: 화면 공유+일반 참여자)은 화면 공유 트랙과 일반 참여자 트랙을 분리해 비율 고정/유연 노드를 만들고, 가로/세로 배치 시뮬레이션 결과의 총 면적을 비교해 더 큰 쪽을 선택합니다. 성능은 조기 종료, useMemo/useCallback, ResizeObserver, 정수 변환을 통해 최적화하며, 단위 테스트로 그리드 선택과 비율/최소 크기/면적 최적화를 검증합니다.

연관 게시글