{}!Google Tag Manager end}} 성능 향상을 위한 설정 | Universal RP | 14.0.9
docs.unity3d.com
    목차 표시/숨기기

    성능 향상을 위한 설정

    성능에 큰 영향을 미치는 유니버설 렌더 파이프라인(URP) 설정 및 기능을 비활성화하거나 변경할 수 있습니다. 이렇게 하면 특히 저사양 플랫폼에서 프로젝트의 성능을 개선할 수 있습니다.

    프로젝트 또는 타겟 플랫폼에 따라 다음 중 하나 또는 모두가 성능에 매우 큰 영향을 미칠 수 있습니다.

    • 선택한 렌더링 경로
    • URP가 사용하는 메모리 양
    • CPU의 처리 시간
    • GPU의 처리 시간

    Unity 프로파일러 또는 GPU 프로파일러(예: RenderDoc 또는 Xcode)를 사용하여 각 설정이 프로젝트의 성능에 미치는 영향을 측정할 수 있습니다.

    프로젝트에 필요한 일부 기능은 비활성화하지 못할 수도 있습니다.

    렌더링 경로 선택

    URP의 세 가지 렌더링 경로와 각 경로의 성능 영향 및 제한 사항에 대한 자세한 내용은 유니버설 렌더러를 참조하십시오.

    URP가 사용하는 메모리 양 감소

    URP 에셋에서 다음을 수행할 수 있습니다.

    • 필요한 경우(예: 씬 뎁스를 샘플링하는 셰이더를 사용하는 경우)가 아니면 Depth Texture를 비활성화하여 URP가 뎁스 텍스처를 저장하지 않도록 합니다.
    • Opaque Texture를 비활성화하면 URP가 필요로 하는 경우를 제외하고 씬의 불투명 스냅샷을 저장하지 않습니다.
    • 디퍼드 렌더링 경로를 사용하는 경우 Use Rendering Layers를 비활성화하여 URP가 추가 렌더 타겟을 생성하지 않도록 합니다.
    • 필요하지 않은 경우 High Dynamic Range (HDR)를 비활성화하여 URP가 HDR 계산을 수행하지 않도록 합니다. HDR이 필요하면 HDR Precision을 32 Bit로 설정합니다.
    • Main Light > Shadow Resolution을 줄여서 메인 광원에 대한 섀도우 맵의 해상도를 낮춥니다.
    • 추가 광원을 사용하는 경우 Additional Lights > Shadow Atlas Resolution을 줄여서 추가 광원에 대한 섀도우 맵의 해상도를 낮춥니다.
    • 필요하지 않은 경우 Light Cookies를 비활성화하거나, Cookie Atlas Resolution 및 Cookie Atlas Format을 낮춥니다.
    • 저사양 모바일 플랫폼에서 Store Actions를 Auto 또는 Discard로 설정하여, URP가 메모리 대역폭을 사용하여 각 패스의 렌더 타겟을 메모리 안팎으로 복사하지 않도록 합니다.

    유니버설 렌더러 에셋에서 Intermediate Texture를 Auto로 설정하여 Unity가 필요한 경우에만 임시 텍스처를 사용하여 렌더링하도록 할 수 있습니다. 이렇게 하면 URP가 사용하는 GPU 메모리 대역폭도 줄일 수 있습니다. 프레임 디버거를 사용하여 이 설정을 변경할 때 URP가 임시 텍스처를 제거하는지 확인합니다.

    또한 다음을 수행할 수 있습니다.

    • URP는 데칼을 렌더링하기 위해 추가 렌더 패스를 생성하므로 데칼 렌더러 기능의 사용을 최소화합니다. 이렇게 하면 CPU와 GPU의 처리 시간도 줄어듭니다. 자세한 내용은 데칼 렌더러 기능을 참조하십시오.
    • 사용하지 않는 기능에 대한 셰이더 배리언트를 스트리핑합니다.

    CPU의 처리 시간 감소

    URP 에셋에서 다음을 수행할 수 있습니다.

    • Volume Update Mode를 Via Scripting으로 설정하여 URP가 프레임마다 볼륨을 업데이트하지 않도록 합니다. UpdateVolumeStack 같은 API를 사용하여 볼륨을 수동으로 업데이트해야 합니다.
    • 저사양 모바일 플랫폼에서 반사 프로브를 사용하는 경우 Probe Blending 및 Box Projection을 비활성화합니다.
    • Shadows 섹션에서 Max Distance를 줄여서 URP가 섀도우 패스에서 더 적은 수의 오브젝트를 처리하도록 합니다. 이렇게 하면 GPU의 처리 시간도 줄어듭니다.
    • Shadows 섹션에서 Cascade Count를 줄여서 렌더 패스 수를 줄입니다. 이렇게 하면 GPU의 처리 시간도 줄어듭니다.
    • Additional Lights 섹션에서 Cast Shadows를 비활성화합니다. 이렇게 하면 GPU의 처리 시간과 URP가 사용하는 메모리 양도 줄어듭니다.

    씬의 각 카메라에는 URP 컬링 및 렌더링을 위한 리소스가 필요합니다. 성능을 향상하도록 URP를 최적화하려면 사용하는 카메라 수를 최소한으로 줄이십시오. 이렇게 하면 GPU의 처리 시간도 줄어듭니다.

    GPU의 처리 시간 감소

    URP 에셋에서 다음을 수행할 수 있습니다.

    • Anti-aliasing (MSAA)을 줄이거나 비활성화하여 URP가 메모리 대역폭을 사용하여 프레임 버퍼 연결을 메모리 안팎으로 복사하지 않도록 합니다. 이렇게 하면 URP가 사용하는 메모리 양도 줄어듭니다.
    • Terrain Holes를 비활성화합니다.
    • SRP Batcher를 활성화하여 URP가 드로우 콜 간의 GPU 설정을 줄이고 머티리얼 데이터를 GPU 메모리에 영구적으로 유지하도록 합니다. 먼저 셰이더가 SRP 배처와 호환되는지 먼저 확인하십시오. 이렇게 하면 CPU의 처리 시간도 줄어듭니다.
    • 저사양 모바일 플랫폼에서 LOD Cross Fade를 비활성화하여 URP가 알파 테스트를 사용하여 디테일 수준(LOD) 메시를 페이드인/페이드아웃하지 않도록 합니다.
    • Additional Lights를 Disabled로 설정합니다. 또는 포워드 렌더링 경로를 사용하는 경우 Per Vertex로 설정합니다. 이렇게 하면 URP의 조명 계산 작업이 줄어듭니다. Disabled로 설정하면 CPU의 처리 시간도 줄어듭니다.
    • Soft Shadows를 비활성화하거나, Soft Shadows를 활성화하되 Quality를 낮춥니다.

    유니버설 렌더러 에셋에서 다음을 수행할 수 있습니다.

    • Vulkan, Metal 또는 DirectX 12 그래픽스 API를 사용하는 경우 Native RenderPass를 활성화하면 URP가 렌더 텍스처를 메모리 안팎으로 복사하는 빈도를 자동으로 줄일 수 있습니다. 이렇게 하면 URP가 사용하는 메모리 양도 줄어듭니다.
    • 포워드 또는 Forward+ 렌더링 경로를 사용하는 경우 Depth Priming Mode를 Auto로 설정하고, PC 및 콘솔 플랫폼의 경우 Forced로 설정하고, 모바일 플랫폼의 경우 Disabled로 설정합니다. 이렇게 하면 PC 및 콘솔 플랫폼에서 URP가 뎁스 텍스처를 생성하고 사용하여 가려진 픽셀에 픽셀 셰이더가 실행되지 않도록 합니다.
    • Depth Texture Mode를 After Transparents로 설정하여 URP가 불투명 패스와 투명 패스 간에 렌더 타겟을 전환하지 않도록 합니다.

    또한 다음을 수행할 수 있습니다.

    • 복잡한 조명 계산을 해야 하는 컴플렉스 릿 셰이더를 사용하지 않습니다. 컴플렉스 릿 셰이더를 사용하는 경우 Clear Coat를 비활성화하십시오.
    • 저사양 모바일 플랫폼에서 베이크된 릿 셰이더를 정적 오브젝트에 사용하고, 심플 릿 셰이더를 동적 오브젝트에 사용합니다.
    • 스크린 공간 앰비언트 오클루전(SSAO)을 사용하는 경우 성능에 큰 영향을 미치는 설정에 대한 자세한 내용은 앰비언트 오클루전을 참조하십시오.

    추가 리소스

    • URP의 성능 이해
    • 성능 향상을 위한 최적화
    • 고급 Unity 크리에이터를 위한 유니버설 렌더 파이프라인 소개
    • PC 및 콘솔의 고사양 그래픽스를 위한 성능 최적화
    • Alba 만들기: 고성능 오픈월드 게임을 제작하는 방법
    • 모바일 디바이스를 위한 URP의 포스트 프로세싱.
    • 안정적인 프레임 속도를 위한 조명 최적화

    설정에 대한 자세한 내용은 다음을 참조하십시오.

    • URP의 디퍼드 렌더링 경로
    • Forward+ 렌더링 경로
    • 유니버설 렌더 파이프라인 에셋
    • 유니버설 렌더러
    맨 위로
    Copyright © 2023 Unity Technologies —
    • Your Privacy Choices (Cookie Settings)