Version: Unity 6.0 (6000.0)
언어 : 한국어
네이티브 메모리
Native memory allocators reference

할당자 커스터마이즈

> 참고: 일부 플랫폼에서는 이 기능을 지원하지 않습니다. 자세한 내용은 플랫폼별 기술 자료를 참조하십시오.

할당자 설정을 커스터마이즈하려면 에디터 UI를 통해 설정 가능한 값을 편집하거나 커맨드 라인 인자로 제공할 수 있습니다.

에디터 사용

  1. Project Settings > Memory Settings를 선택합니다.
  2. 편집할 값 옆에 있는 잠금 아이콘을 선택합니다.
플레이어 메모리 설정의 선택 사항을 보여 주는 Project Settings > Memory Settings
플레이어 메모리 설정의 선택 사항을 보여 주는 Project Settings > Memory Settings

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

커맨드 라인 인자 사용

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

할당자 파라미터 이름과 기본값:

|할당자 |||설명|파라미터 이름|기본값| |:—|:—|:—|:–|—|:–| |Main Allocators|||Unity에서 대부분의 할당에 사용하는 할당자입니다.| ||Main Allocator||Unity에서 대부분의 할당에 사용하는 기본 할당자입니다.| | | |Main Thread Block Size|전용 메인 스레드 할당자의 블록 크기입니다.|memorysetup-main-allocator-block-size|16777216| | | |Shared Thread Block Size|공유 스레드 할당자의 블록 크기입니다.|memorysetup-thread-allocator-block-size|16777216| ||Gfx Allocator||Unity에서 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 Size||Unity 잡 시스템에 있는 각 잡 워커의 크기입니다.|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 Size||Unity에서 주로 잡 워커 스레드에 사용하는 라운드 로빈 선형 스레드 할당자입니다.|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 Allocators|||Unity에서 애플리케이션의 할당 패턴을 방해하지 않도록 프로파일러 전용으로 사용하는 할당자입니다.| ||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.configProjectSettings 폴더에 있습니다. Unity가 MemorySettings.asset을 임포트하거나 변경할 때마다 업데이트됩니다. 에디터에 대한 새로운 값은 다음 에디터 시작 시에만 적용됩니다.

네이티브 메모리
Native memory allocators reference