Czas klatki jest niestabilny lub zbyt wysoki
Zapisujemy pomiar wyjściowy i ustalamy, czy ograniczenie leży po stronie CPU, GPU, renderowania czy zawartości sceny.
Optymalizacja
Mierzymy wydajność na docelowym sprzęcie, znajdujemy źródło problemu i sprawdzamy efekt zmian na tym samym teście.
Wykres i liczby dodamy po pomiarze tej samej sceny w kontrolowanych warunkach.
Problemy, które rozwiązujemy
Sprawdzamy docelową wersję aplikacji i rozdzielamy koszt CPU, GPU oraz poszczególnych systemów.
Zapisujemy pomiar wyjściowy i ustalamy, czy ograniczenie leży po stronie CPU, GPU, renderowania czy zawartości sceny.
Analizujemy oświetlenie, materiały, shadery, VFX i nakładanie przezroczystości przy rosnącej złożoności sceny.
Sprawdzamy modele, LOD-y, instancing, tekstury, wywołania rysowania i organizację sceny podczas działania aplikacji.
Mierzymy aplikację na docelowym zestawie VR i uwzględniamy jego budżet klatki.
Co dostarczamy
Zakres może zakończyć się na diagnozie albo obejmować implementację najważniejszych poprawek.
Pomiar wyjściowy, wskazanie ograniczeń i lista obszarów do analizy w kolejności priorytetów.
Analiza renderowania, VFX, oświetlenia, modeli i systemów aplikacji odpowiedzialnych za koszt.
Zmiany w kosztownych systemach, jeżeli implementacja jest częścią zlecenia.
Warianty jakości dobrane do sprzętu docelowego i wymaganego wyglądu.
Kontekst technologiczny
Dokładny zestaw zależy od silnika i platformy, ale zasada jest stała: najpierw pomiar, potem zmiana.
Unreal Insights, GPU profiling, stat tools i analiza renderingu po stronie silnika.
Profiler, Frame Debugger i analiza runtime systemów odpowiedzialnych za koszt klatki.
Materiały, shadery, overdraw, lighting, meshe, LOD, instancing, tekstury i draw calle.
Optymalizacja pod budżet klatki i ograniczenia konkretnego urządzenia VR lub XR.
Jak wygląda praca
Zapisujemy pomiar docelowej wersji aplikacji na ustalonym sprzęcie.
Sprowadzamy problem do systemów odpowiadających za mierzalny koszt.
Implementujemy zmiany o najwyższej wartości względem kosztu wizualnego i produkcyjnego.
Powtarzamy test i sprawdzamy, czy zmiana usunęła wskazane ograniczenie oraz nie pogorszyła innych elementów.
Powiązane realizacje
Realizacje optymalizacyjne pokazujemy przez bottleneck, dane z profilera, ograniczenia produkcji i zastosowane rozwiązanie tam, gdzie wyniki można publikować.
1 000 000 przesłanych jednostek · Unity 6000.3.24f1 · Windows D3D12 · GTX 1050 Ti · 1920×1080 · średnio 109,9 FPS · 8,229 ms GPU. Wynik tej sceny i konfiguracji; branch rozwojowy poza release 1.0.0.
Kontekst benchmarku SpriteOrbitW 4Experience Bartosz Rozmus pracował przy level designie i optymalizacji projektu Google Daydream VR o restrykcyjnym budżecie realtime. Case study jasno oddziela zakres wkładu.
Zobacz case study optymalizacji VRPrzewodniki (EN)
Przewodnik pokazuje, jak zbierać dane o czasie klatki w Unreal Engine i wybierać zmiany na podstawie pomiarów.
Pomiar w Unreal Insights, analiza GPU i powtórzenie testu po zmianie.
Czytaj przewodnik (EN)Powiązane usługi
Renderowanie, shadery i modele, gdy poprawa wydajności wymaga zmian w grafice.
Zobacz Technical ArtPomiar i przebudowa efektów, gdy koszt generują cząstki, materiały lub nakładające się przezroczystości.
Zobacz VFXWalidacja i tooling produkcyjny, który pomaga zapobiegać powrotowi kosztownych wzorców contentu.
Zobacz narzędziaFAQ
Nie. Odpowiedzialnie nie da się zagwarantować arbitralnego wyniku przed profilingiem. Można zdefiniować target, a potem zmierzyć rzeczywiste bottlenecki względem tego celu.
Tak. Diagnoza i priorytetowy plan optymalizacji mogą być osobnym zakresem.
Tak. VR i standalone XR wymagają bardziej restrykcyjnych decyzji wokół budżetu klatki i mogą być osobnym kontekstem optymalizacji.
Start projektu
Wyślij silnik, docelowy sprzęt, aktualny frame rate lub frame-time i obszary, które wydają się kosztowne.
Capture z profilera pomaga, ale krótki opis projektu wystarczy, żeby zacząć określać audit.
Porozmawiaj o tej usłudze