Version: Unity 6.0 (6000.0)
언어 : 한국어
Native memory introduction
할당자 커스터마이즈

네이티브 메모리

> 참고: 이 섹션의 할당자에 대한 정보는 네이티브 메모리에만 적용되고 관리되는 힙에는 적용되지 않으며, 이에 대한 내용은 관리되는 메모리 섹션에서 다루고 있습니다. 이 섹션에서는 네이티브 메모리 관리 및 할당자에 대한 일반적인 이해를 갖춘 것으로 가정합니다.

애플리케이션은 메모리 할당자를 사용하여 성능과 사용 가능한 메모리 공간의 균형을 맞춥니다. 애플리케이션에 많은 여유 메모리가 있는 경우 씬과 프레임을 로드할 때 더 빠르고 메모리를 많이 사용하는 할당자를 우선적으로 사용할 수 있습니다. 하지만 애플리케이션에 메모리가 제한되어 있으면 더 느린 할당자를 사용하더라도 효율적으로 메모리를 사용해야 합니다. 다양한 프로젝트에서 최상의 성능을 얻을 수 있도록 Unity의 할당자를 각 애플리케이션의 크기와 요구 사항에 맞게 커스터마이즈할 수 있습니다.

Unity에는 5가지의 할당자 유형이 있습니다. 각 유형은 메모리 블록에 할당을 맞추는 알고리즘이 다르므로 각자 다른 할당에 유용합니다. 할당 간의 중요한 차이점은 대개 지속성이나 할당 수명으로, 이는 할당이 어디로 가야 하는지를 결정합니다. 예를 들어 수명이 긴(지속성) 할당은 힙 및 버킷 할당자로 이동하며, 수명이 짧은 할당은 스레드세이프 리니어 및 TLS 할당자로 이동합니다.

다음 표에는 각 할당자 유형의 알고리즘과 용도가 나와 있습니다.

할당자 유형 알고리즘 용도
동적 힙(Dynamic heap) 2단계 분리 맞춤(TLSF) • 메인 할당자
• Gfx 할당자
• Typetree 할당자
• 파일 캐시 할당자
• 프로파일러 할당자
• 에디터 프로파일러 할당자(에디터에만 해당)
버킷(Bucket) 고정된 크기의 무잠금 할당자 다음을 위한 소규모 할당용 공유 할당자

• 메인 할당자
• Gfx 할당자
• Typetree 할당자
• 파일 캐시 할당자
듀얼 스레드(Dual thread) 크기와 스레드 ID를 기반으로 할당을 리디렉션합니다. • 메인 할당자
• Gfx 할당자
• Typetree 할당자
• 파일 캐시 할당자
스레드 로컬 스토리지(TLS) 스택 LIFO 스택 임시 할당
스레드세이프 리니어(Threadsafe linear) 라운드 로빈(Round robin) FIFO 잡에 데이터를 전달하기 위한 버퍼

> 참고: -log-memory-performance-stats 커맨드 라인 인자를 사용한 경우, 이 기술 자료의 예시에서는 플레이어나 에디터를 닫을 때 로그에 기록되는 메모리 사용량 보고서를 사용합니다. 로그 파일을 찾으려면 로그 파일 페이지의 지침을 따르십시오.

Native memory introduction
할당자 커스터마이즈
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961