Unity udostępnia wiele zaawansowanych funkcji GPU, które wykorzystują instancjonowanie i usuwanie obiektów zasłoniętych, aby znacznie ograniczyć liczbę wywołań rysowania i wyeliminować renderowanie ukrytych obiektów. Te funkcje działają razem, aby zmaksymalizować wydajność GPU w złożonych scenach.
GPU Resident Drawer
GPU Resident Drawer automatycznie wykorzystuje instancjonowanie GPU, aby zmniejszyć liczbę wywołań rysowania i zwolnić czas przetwarzania procesora. Ta funkcja jest najbardziej skuteczna w przypadku dużych scen z wieloma obiektami, które mają tę samą siatkę.
Włącz tę funkcję
- W menu głównym Unity kliknij Edit > Project Settings > Graphics (Edytuj > Ustawienia projektu > Grafika).
- W sekcji Usuwanie shaderów ustaw opcję Warianty grupy renderowania wsadowego na Zachowaj wszystkie.
- Znajdź zasób Default Render Pipeline, który jest też zasobem URP.
- Wyszukaj ten zasób w projekcie.
- Kliknij komponent prawym przyciskiem myszy i wybierz Właściwości.
- Na liście renderujących kliknij prawym przyciskiem myszy renderujący uniwersalny i wybierz Właściwości.
- Ustaw Ścieżka renderowania na Do przodu+.
- Wróć do zasobu URP, wybierz go, a potem kliknij 3 kropki w sekcji i wybierz Debuguj.
- Ustaw Tryb rysowania rezydentnego GPU na Rysowanie instancjonowane.
GPU Occlusion Culling
Occlusion Culling wykorzystuje procesor graficzny zamiast procesora do wykluczania obiektów ukrytych za innymi obiektami. Ta funkcja jest najbardziej skuteczna w scenach z dużą liczbą zasłoniętych obiektów, np. we wnętrzach lub w gęstych środowiskach.
Włącz tę funkcję
- W menu głównym Unity kliknij Edit > Project Settings > Graphics (Edytuj > Ustawienia projektu > Grafika).
- Włącz GPU Occlusion Culling (Culling zasłaniania na GPU).
- Wybierz kartę URP.
- W sekcji Render Graph (Wykres renderowania) wyłącz Compatibility Mode (Render Graph Disabled) (Tryb zgodności (Wykres renderowania wyłączony)).
Optymalizacja odrzucania bufora
Ta optymalizacja zwiększa wydajność, odrzucając niepotrzebne dane bufora głębi i wydajnie przetwarzając bufory kolorów MSAA, co zmniejsza operacje na pamięci.
Zalety
- Eliminuje niepotrzebne kopiowanie i przenoszenie danych graficznych.
- Przyspiesza renderowanie na GPU we wszystkich przypadkach.
Włącz tę funkcję
- W menu głównym Unity kliknij Edit > Project Settings (Edytuj > Ustawienia projektu).
- Rozwiń sekcję XR Plug-in Management (Zarządzanie wtyczkami XR), a potem kliknij OpenXR.
- Kliknij kartę Android.
- Wybierz grupę funkcji Android XR.
- Kliknij ikonę koła zębatego obok opcji Pomoc dotycząca Androida XR.
Włącz Optymalizuj odrzucanie bufora (Vulkan).
Wyłącz renderowanie od przodu do tyłu
Renderowanie od przodu do tyłu to eksperyment dotyczący kolejności renderowania, który możesz wypróbować w scenie. W połączeniu z optymalizacjami takimi jak Low-Resolution-Z (LRZ) może to poprawić wydajność w scenach z dużą liczbą zasłoniętych obiektów, w których obiekty w tle używają kosztownych shaderów fragmentów.
Włączenie tego ustawienia może jednak również zmniejszyć wydajność. Z tego powodu zalecamy pozostawienie domyślnego ustawienia (wyłączonego).