Pracuję nad optymalizacją mojej gry na iOS, i mam naprawdę dziwny problem z ustawieniami jakości w Unity3D, które całkowicie mnie zablokowały!Ukryta różnica między jednością Ustawienia jakości 3D?
mam 4 ustawienia jakości konfiguracji w grze poprzez:
Edit -> Project Settings -> Quality
cztery ustawienia: Proste, dobre, piękne, wspaniałe
Krótka wersja jest taka, że niezależnie od opcji ustawić wewnątrz panel ustawień jakości, Simple zawsze będzie działał lepiej niż dobrze.
Na przykład, jeśli ustawię wartość Prosta i dobra, aby miały identyczne ustawienia dla wszystkich opcji renderowania, ustawienie wszystkiego na minimum (cienie wyłączone, brak antiali, 1/8 tekstury itp.) I przetestować grę na iPadzie, zaczynając od różnych opcji domyślnej jakości:
Simple - ~26FPS
Good - ~6FPS
Jeśli zmienię Prosty w użyciu 1/4 tekstury i pozostawić dobry w 1/8 tekstury, to nadal działa prawie tak samo:
Simple - ~24FPS
Good - ~6FPS
mogę wyraźnie zobaczyć tekstury są lepsze/bardziej szczegółowe w trybie prostym w 1/4, ale są uruchomione prawie 20FPS szybszy niż tryb dobry, który używa tekstur o rozmiarze 1/8.
Widzę od dołączenia profilera Unity iOS, który podczas pracy w trybie Good CPU ma stałe obciążenie "Overhead", które nie występuje w trybie Simple (z identycznymi ustawieniami jakości). Coś się wyraźnie zmienia, kiedy przechodzę z Prostego na Dobry, ale nie wydaje mi się, że mogę coś zmienić z menu ustawień jakości.
Z czytania unity manual page Mam wrażenie, że różne ustawienia jakości są po prostu symbolami zastępczymi, ponieważ można dodawać/usuwać opcje. Ale z moich eksperymentów wynika, że jest coś, co zmienia się, kiedy zaczynam w prostych Vs Good (lub innych) opcjach.
Próbowałem uruchomić grę w trybie Simple/Good jako domyślną, a także ręcznie przełączając kod (używając C# poprzez QualitySettings.SetQualityLevel) i otrzymuję taką samą wydajność.
Czuję, że brakuje mi czegoś kluczowego, ale nie mogę tego wymyślić.
To jest świetne pytanie! Możesz mieć więcej szczęścia na UnityAnswers. Ta strona jest poświęcona Jedności, więc możesz znaleźć tam bardziej kompetentnych ludzi. – SirBraneDamuj
Dzięki za sugestię - rzeczywiście opublikowałem to na Unity Answers, ale nie otrzymałem odpowiedzi! Miałem nadzieję, że ktoś tutaj w StackOverflow pomoże mi go złamać! – Jokode