Version: Unity 6.0 (6000.0)
언어 : 한국어
에디터에서의 비동기 셰이더 컴파일
비동기 셰이더 컴파일 활성화 또는 비활성화

비동기 셰이더 컴파일 소개

셰이더 오브젝트는 수백 또는 수천 개의 셰이더 배리언트를 포함할 수 있습니다. 셰이더 오브젝트를 로드할 때 에디터가 모든 배리언트를 컴파일하면 임포트 프로세스가 매우 느려집니다. 대신 에디터는 셰이더 배리언트를 처음 만날 때 필요 시 컴파일합니다.

이러한 셰이더 배리언트를 컴파일하면 그래픽스 API 및 셰이더 오브젝트의 복잡도에 따라 에디터가 몇 밀리초 또는 몇 초 지연될 수 있습니다. 이러한 지연을 방지하기 위해 비동기 셰이더 컴파일을 사용하여 백그라운드에서 셰이더 배리언트를 컴파일하고 그 사이에 플레이스홀더 셰이더 오브젝트를 사용할 수 있습니다.

비동기 셰이더 컴파일의 작동 방식

비동기 셰이더 컴파일은 다음과 같이 작동합니다.

  1. 에디터가 컴파일되지 않은 셰이더 배리언트를 처음 발견하면 작업 스레드의 컴파일 대기열에 셰이더 배리언트를 추가합니다. 에디터의 오른쪽 하단에 있는 진행 표시줄에 컴파일 대기열의 상태가 표시됩니다.
  2. 셰이더 배리언트를 로드하는 동안 Unity 에디터는 지오메트리를 일반 청록색으로 표시되는 플레이스홀더 셰이더로 렌더링합니다.
  3. 에디터가 셰이더 배리언트 컴파일을 끝내면 셰이더 배리언트를 사용하여 지오메트리를 렌더링합니다.
Unity는 컴파일이 완료될 때까지 청록색 더미 셰이더로 컴파일 중인 셰이더 배리언트를 렌더링합니다. 오른쪽 하단의 진행 표시줄에 컴파일 대기열 진행률이 표시됩니다.
Unity는 컴파일이 완료될 때까지 청록색 더미 셰이더로 컴파일 중인 셰이더 배리언트를 렌더링합니다. 오른쪽 하단의 진행 표시줄에 컴파일 대기열 진행률이 표시됩니다.

예외

다음의 예외가 적용됩니다.

  • DrawProcedural 또는 CommandBuffer.DrawProcedural을 사용하여 지오메트리를 드로우하면 에디터는 플레이스홀더 셰이더를 사용하지 않습니다. 대신 에디터는 셰이더 배리언트를 컴파일할 때까지 이 지오메트리의 렌더링을 건너뜁니다.
  • Unity 에디터는 비동기 셰이더 컴파일을__ Blit__‘bit block transfer’의 약어입니다. blit 동작은 데이터 블록을 메모리의 한 곳에서 다른 곳으로 전송하는 과정입니다.
    See in Glossary
    작업과 함께 사용하지 않습니다. 이는 가장 일반적인 활용 사례에서 올바른 출력을 보장하기 위한 것입니다.
에디터에서의 비동기 셰이더 컴파일
비동기 셰이더 컴파일 활성화 또는 비활성화
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961