방문자

오늘
—
어제
—
누적
—

불러오는 중

게임 개발 · 기술 동향 · 팀 블로그MIRO
헤드라인

engine

PlayCanvas, 렌더 컨테이너 경고를 프리로드 시작까지 미룬다

Box 렌더 샘플
그래픽 개념을 보여주는 Khronos glTF 참고 샘플입니다. 2017, Cesium. · 이미지 출처 · 이용 조건

정상적인 등록 순서도 경고로 보였습니다

PlayCanvas 2.23.3은 한국시간 2026년 10월 16일 공개됐습니다. 렌더 에셋이 참조하는 컨테이너가 아직 등록되지 않았다는 경고를 프리로드 시작 시점으로 옮긴 수정입니다. 경고를 무조건 없애거나 누락된 에셋을 자동으로 만드는 기능은 아닙니다.

PR #9771에 따르면 2.23부터 Editor 실행 페이지의 디버그 빌드에서 정상적인 프리로드 에셋에도 경고가 많이 나왔습니다. 실행 페이지가 에셋을 임의의 순서로 등록하므로 렌더 에셋이 컨테이너보다 잠깐 먼저 들어오는 일이 있었기 때문입니다. 컨테이너가 뒤이어 등록되면 대기하던 렌더 에셋이 정상적으로 로드될 수 있습니다.

판단할 수 있는 시점으로 옮깁니다

수정 전에는 렌더 핸들러가 등록되지 않은 컨테이너를 기다리기 시작할 때 경고했습니다. 수정 후에는 그 순간의 경고를 없애고, AppBase의 preload가 시작될 때에도 컨테이너가 없는 프리로드 렌더 에셋을 검사합니다. 원문은 이 조건에서 프리로드가 끝나지 않는다고 설명합니다.

따라서 ‘나중에 등록해도 된다’는 의미에는 경계가 있습니다. 프리로드 호출 전에 등록 순서가 바뀌는 것은 허용되지만, 프리로드가 시작된 뒤 필요한 컨테이너가 없는 상태까지 정상이라고 보는 변경은 아닙니다. 문서에도 컨테이너를 preload 호출 전에 어떤 순서로든 등록할 수 있다는 설명이 추가됐습니다.

로그가 조용해졌다고 준비가 끝난 것은 아닙니다

이 변경의 목적은 정상 초기화에 대한 오탐을 줄이면서 실제 누락을 확인하는 시점을 명확히 하는 데 있습니다. 일반 배포 빌드에서 로딩 성능이 개선됐거나 네트워크 요청이 줄었다는 근거는 릴리스에 없습니다. 경고의 유무와 실제 로딩 완료 여부는 별도로 확인해야 합니다.

프로젝트에서는 렌더 에셋과 컨테이너의 등록 순서를 뒤집되, 두 항목 모두 preload 전에 들어오는 경우부터 비교해 보세요. 이후 테스트용 구성에서 컨테이너를 누락시킨 경우를 나누면 정상적인 지연 등록과 해결되지 않은 의존성을 구별할 수 있습니다. 이 절차는 PR의 조건을 바탕으로 한 점검 제안이지 직접 실행한 재현 결과는 아닙니다.

필요한 기록은 등록 순서와 호출 시점입니다

문제를 보고할 때는 경고 문구만 복사하기보다 에셋 식별자, 컨테이너 등록 시점, preload 호출 시점을 함께 남기는 편이 좋습니다. 다운로드 실패와 등록 누락은 겉으로 비슷하게 로딩을 멈추게 할 수 있지만, 확인할 코드가 다릅니다.

이번 패치는 짧은 경고 수정이지만 초기화 계약을 분명하게 보여줍니다. 등록 과정 중 잠깐 성립하지 않는 조건과, 실행을 시작할 때 반드시 성립해야 하는 조건을 구분해야 합니다. 기존 프로젝트에서도 에셋 등록 완료와 프리로드 시작을 명시적으로 나누어 확인할 계기로 활용하시면 좋겠습니다.

출처

댓글

이 글에 대한 생각을 남겨 주세요.

댓글 삭제

헤드라인

같은 카테고리의 글

최신 게임 개발 동향 전체 보기 ↗