Babylon.js 9.34.0, WebGPU 텍스처 캐시 조회 개선

저장한 뷰를 찾을 때의 할당을 줄입니다
Babylon.js 9.34.0은 한국시간 2026년 11월 5일 공개됐습니다. WebGPU 텍스처 뷰 캐시를 조회할 때 매번 문자열 키를 만들던 경로를 바꿨습니다. 텍스처를 더 작은 용량으로 압축하거나 새로운 GPU 메모리 캐시를 추가한 기능은 아닙니다.
PR #19091은 기존 조회가 뷰 설명자의 아홉 필드를 문자열로 조합했다고 설명합니다. 이미 캐시에 있는 뷰를 찾을 때도 임시 문자열이 만들어졌습니다. 렌더 패스에서 색상·깊이 등의 뷰를 반복 조회하면 이 짧게 쓰이는 데이터가 계속 쌓여 가비지 수집 대상이 됩니다.
비교 방식은 바뀌고 재사용 의미는 유지됩니다
새 구현은 텍스처당 뷰 수가 적다는 점을 이용해 저장된 설명자의 필드를 직접 비교합니다. 조회 자체에서는 할당하지 않으며, 뷰가 처음 만들어질 때 설명자 사본을 보관합니다. 호출자가 같은 설명자 객체를 수정해서 재사용할 수 있기 때문에 캐시가 자기 값을 유지하는 것이 중요합니다.
캐시에 무엇을 저장하고 언제 새 뷰를 만드는지는 바꾸지 않습니다. 따라서 결과 화면이 달라지는 기능으로 기대하기보다 CPU의 반복 작업과 임시 할당을 줄이는 변경으로 이해하는 편이 정확합니다.
수치는 특정 장면의 측정입니다
작성자는 Windows 11의 Chromium 147과 RTX 3080 Laptop GPU에서 매 프레임 24개의 렌더 타깃과 기본 화면을 그리는 테스트를 보고했습니다. 그 조건에서는 프레임당 할당량이 약 18KB 줄고 가비지 수집 빈도도 낮아졌습니다. 마지막 프레임의 픽셀은 비교 대상과 동일했다고 설명합니다.
이 결과를 모든 프로젝트의 메모리 절감률이나 FPS 상승률로 옮길 수는 없습니다. 자신의 장면에서는 초기 텍스처 생성과 안정된 프레임의 조회 비용을 나누어 측정해 보세요. 동일한 텍스처라도 다른 밉이나 레이어를 쓰는 경우까지 확인하면 잘못된 뷰 재사용이 없는지도 살펴볼 수 있습니다.
물리 검사 도구는 별도로 추가됐습니다
같은 릴리스의 PR #19079는 Inspector Lite에 Havok 물리 월드·바디·형상·제약 탐색과 속성 편집을 추가합니다. 제거된 바디와 제약은 목록에서 빠지며, 공유 형상 편집에는 경고를 표시합니다. 디버그 표시는 검사 대상 장면과 분리된 도구용 레이어에 그립니다.
제약도 있습니다. 일부 형상의 매개변수는 보고되지 않고 thin instance 편집은 전체 인스턴스에 적용됩니다. Lite의 최소 의존 버전도 1.38.1로 올라갑니다. 따라서 물리 검사 도구 도입과 캐시 성능 검토를 같은 실험으로 묶지 않는 것이 좋습니다. 이 글은 릴리스와 PR 검토이며 실제 성능 측정이나 편집 검증 결과는 아닙니다.
미로

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