기술 자료

Unity Engine

Unity Engine

할당자 커스터마이즈

Customize the allocator types with the Editor or command line.
읽는 시간 3분최근 업데이트: 한 달 전

참고: 일부 플랫폼에서는 이 기능을 지원하지 않습니다. 자세한 내용은 플랫폼별 기술 자료를 참조하십시오.
할당자 설정을 커스터마이즈하려면 에디터 UI를 통해 설정 가능한 값을 편집하거나 커맨드 라인 인자로 제공할 수 있습니다.

에디터 사용

  1. Project Settings > Memory Settings를 선택합니다.
  2. 편집할 값 옆에 있는 잠금 아이콘을 선택합니다.

플레이어 메모리 설정의 선택 사항을 보여 주는 Project Settings > Memory Settings

참고: 에디터 UI를 통해 커스터마이즈할 수 있는 필드를 보려면 이전 개별 할당자 섹션을 참조하십시오.

커맨드 라인 인자 사용

변경하려는 할당자 파라미터의 이름을 찾으려면 에디터와 플레이어가 시작할 때 출력하는 할당자 설정 리스트를 확인하십시오. 예를 들어 메인 힙 할당자의 블록 크기를 변경하려면
-memorysetup-main-allocator-block-size=<new_value>
를 사용합니다.
할당자 파라미터 이름과 기본값:

할당자

설명

파라미터 이름

기본값

Main AllocatorsUnity에서 대부분의 할당에 사용하는 할당자입니다.
Main AllocatorUnity에서 대부분의 할당에 사용하는 기본 할당자입니다.
Main Thread Block Size전용 메인 스레드 할당자의 블록 크기입니다.
memorysetup-main-allocator-block-size
16777216
Shared Thread Block Size공유 스레드 할당자의 블록 크기입니다.
memorysetup-thread-allocator-block-size
16777216
Gfx AllocatorUnity에서 Gfx 시스템과 관련된 CPU 할당에 사용하는 할당자입니다.
Main Thread Block Size전용 메인 스레드 Gfx 할당자의 블록 크기입니다.
memorysetup-gfx-main-allocator-block-size
16777216
Shared Thread Block Size공유 스레드 Gfx 할당자의 블록 크기입니다.
memorysetup-gfx-thread-allocator-block-size
16777216
Other Allocators
File Cache Block Size파일 캐시에는 단편화를 방지하기 위한 자체 할당자가 있습니다. 이는 그 할당자의 블록 크기입니다.
memorysetup-cache-allocator-block-size
4194304
Type Tree Block Size유형 트리에는 다수의 작은 할당으로 인한 단편화를 피하기 위해 자체 할당자가 있습니다. 이는 그 할당자의 블록 크기입니다.
memorysetup-typetree-allocator-block-size
2097152
Shared Bucket Allocator메인 할당자 간에 공유되는 버킷 할당자입니다.
Bucket Allocator Granularity공유 할당자에 있는 버킷의 스텝 크기입니다.
memorysetup-bucket-allocator-granularity
16
Bucket Allocator BucketCount버킷 크기의 수입니다.
memorysetup-bucket-allocator-bucket-count
8
Bucket Allocator Block Size버킷에 사용되는 메모리 블록의 크기입니다.
memorysetup-bucket-allocator-block-size
Editor: 8388608

Player: 4194304
Bucket Allocator Block Count할당할 최대 블록 수입니다.
memorysetup-bucket-allocator-block-count
Editor: 8

Player: 1
Fast Per Thread Temporary Allocators매우 짧은 할당을 처리하는 TLS(스레드 로컬 스토리지) 할당자입니다.
Main Thread Block Size메인 스레드 스택 크기의 초기값입니다.
memorysetup-temp-allocator-size-main
Editor: 16777216

Player: 4194304
Job Worker Block SizeUnity 잡 시스템에 있는 각 잡 워커의 크기입니다.
memorysetup-temp-allocator-size-job-worker
E262144
Background Job Worker Block Size각 백그라운드 워커의 크기입니다.
memorysetup-temp-allocator-size-background-worker
32768
Preload Block Size사전 로드 관리자 스택 크기입니다.
memorysetup-temp-allocator-size-preload-manager
Editor: 33554432

Player: 262144
Audio Worker Block Size각 오디오 워커 스레드의 스택 크기입니다.
memorysetup-temp-allocator-size-audio-worker
65536
Cloud Worker Block Size클라우드 워커 스레드 스택 크기입니다.
memorysetup-temp-allocator-size-cloud-worker
32768
Gfx Thread Blocksize메인 렌더 스레드 스택 크기입니다.
memorysetup-temp-allocator-size-gfx
262144
GI Baking Blocksize각 GI 워커 스레드의 스택 크기입니다.
memorysetup-temp-allocator-size-gi-baking-worker
262144
NavMesh Worker Block Size내비 메시 워커 스레드 스택 크기입니다.
memorysetup-temp-allocator-size-nav-mesh-worker
65536
Fast Thread Shared Temporary Allocators스레드 간에 공유되는 단기 할당을 위한 빠른 선형 할당자입니다.
Job Allocator Block SizeUnity에서 주로 잡 워커 스레드에 사용하는 라운드 로빈 선형 스레드 할당자입니다.
memorysetup-job-temp-allocator-block-size
2097152
Background Job Allocator Block Size수명이 긴 할당을 허용하는 백그라운드 워커용 리니어 할당자입니다.
memorysetup-job-temp-allocator-block-size-background
21048576
메모리가 적은 플랫폼의 Job Allocator Block Size메모리가 2GB 미만인 플랫폼은 잡 워커와 백그라운드 잡 모두에 사용하는 크기입니다.
memorysetup-job-temp-allocator-reduction-small-platforms
262144
Profiler AllocatorsUnity에서 애플리케이션의 할당 패턴을 방해하지 않도록 프로파일러 전용으로 사용하는 할당자입니다.
Profiler Block Size프로파일러의 주요 부분에 대한 블록 크기입니다.
memorysetup-profiler-allocator-block-size
16777216
Editor Profiler Block Size프로파일러의 에디터 부분에 대한 블록 크기입니다. 플레이어에는 없습니다.
memorysetup-profiler-editor-allocator-block-size
1048576
Shared Profiler Bucket Allocator프로파일러와 에디터 프로파일러 할당자를 위한 공유 버킷 할당자입니다.

메모리가 적은 플랫폼에는 없습니다.
Bucket Allocator Granularity공유 할당자에 있는 버킷의 스텝 크기입니다.
memorysetup-profiler-bucket-allocator-granularity
16
Bucket Allocator BucketCount버킷 크기의 수입니다. 예를 들어 값이 4인 경우 크기는 16, 32, 48, 64입니다.
memorysetup-profiler-bucket-allocator-bucket-count
8
Bucket Allocator Block Size버킷에 사용되는 메모리 블록의 크기입니다.
memorysetup-profiler-bucket-allocator-block-size
Editor: 33554432

Player: 4194304
Bucket Allocator Block Count할당할 최대 블록 수입니다.
memorysetup-profiler-bucket-allocator-block-count
Editor: 8

Player: 1
팁: 변경 전후로 애플리케이션을 프로파일링하여 설정 성능을 개선할 수 있습니다. 자세한 내용은 프로파일러 개요 페이지와 프로파일러 분석기의 패키지 기술 자료를 참조하십시오. 프로파일러 분석기는 멀티프레임 비교를 지원하며, 특히 할당자 성능의 차이를 강조하는 데 유용합니다. 메모리 사용량 보고서도 확인할 수 있습니다. 보고서는 플레이어 또는 에디터를 닫으면 로그에서 확인할 수 있습니다. 로그 파일을 찾으려면 로그 파일 페이지의 지침을 따르십시오.

할당자 설정 저장 및 읽기

Unity는 할당자 설정을
MemorySettings.asset
에 저장하여 빌드 시 수정된 설정으로
boot.config
파일을 채웁니다. 즉, 새 설정이 모든 빌드에 적용됩니다.
에디터에서
boot.config
는
ProjectSettings
폴더에 있습니다. Unity가
MemorySettings.asset
을 임포트하거나 변경할 때마다 업데이트됩니다. 에디터에 대한 새로운 값은 다음 에디터 시작 시에만 적용됩니다.