W skrócie: „optymalizacja na końcu" to sposób, w jaki projekty umierają na certyfikacji. Budżet wydajności, pułapy czasu klatki i pamięci uzgodnione zanim zbudowana zostanie treść, zmienia optymalizację z kryzysu w rutynową kontrolę. Budżetuj milisekundy zamiast wielokątów, podziel klatkę jak tort, mierz przy trzech stałych kamerach, uczyń liczby widocznymi tam, gdzie dzieje się praca, i pociągaj dźwignie w kolejności opłacalności, gdy scena zapali się na czerwono. Ten artykuł daje cały system, z liczbami startowymi do dostosowania.
Panorama to zawsze rachunek: maksymalny dystans rysowania, każdy system na ekranie naraz, każdy pierścień LOD aktywny. Budżetuj dla tego widoku, korytarz zadba o siebie sam.
Budżetuj czas klatki, nie wielokąty
Budżety wielokątów to relikt, nowoczesne GPU dławią się na draw callach, overdraw, cieniach i przepustowości pamięci na długo przed surowymi trójkątami. Budżetuj to, co naprawdę mierzysz: milisekundy na system, na widok.
Gra w 60 fps posiada 16,6 ms na klatkę; przy 30 fps, 33,3 ms. To cały budżet, dzielony przez wszystko: rozgrywkę, fizykę, SI, VFX, UI i środowisko. Kawałek środowiska to negocjacja z renderowaniem i rozgrywką, ale musi być liczbą, uzgodnioną i zapisaną, inaczej każda dyskusja o tym, czy scena jest „za droga", zapada się w gust i staż. Obok czasu klatki nadaj pułapy wielkościom, które go wiążą:
- draw calle na widok (wiążą CPU na długo przed nasyceniem GPU),
- pamięć tekstur i siatek na strefę streamingu (liczba, która decyduje, czy streamujesz, czy się zacinasz),
- światła rzucające cień w widoku,
- gorące punkty overdraw, roślinność i VFX to zwykli podejrzani.
Dokładne pułapy zależą od platformy i silnika; dyscyplina posiadania pułapów to to, co przenosi się na każdy projekt, jaki kiedykolwiek wydasz. Liczba, co do której możesz się mylić, bije wyczucie, o które możesz się tylko kłócić.
Podziel klatkę jak tort, w milisekundach
Daj każdemu działowi kawałek (rozgrywka, VFX, UI, środowisko) potem podziel kawałek środowiska ponownie: teren, roślinność, propy, woda. „Czy ten las jest za drogi?" staje się pytaniem obiektywnym.
Wykonalny podział startowy dla tytułu w 60 fps, do renegocjacji per projekt: środowisko razem 6–8 ms, z czego teren ~1,5, roślinność ~2–2,5, propy i struktury ~1,5, woda i atmosfera ~1. Sedno to nie te dokładne liczby, to że gdy las mierzy 4 ms wobec kawałka 2,5 ms, rozmowa staje się „którą dźwignię pociągniemy" zamiast „czyja to wina".
Kawałki chronią też przed nadmierną optymalizacją, prawdziwą i kosztowną porażką. System siedzący dobrze poniżej swojego kawałka to zaproszenie, by wydać zapas na jakość, nie trofeum do obrony. Zespoły bez kawałków skłaniają się optymalizować to, co zauważył najgłośniejszy inżynier, co rzadko jest prawdziwym wąskim gardłem, wykres kołowy mówi ci, gdzie naprawdę poszły milisekundy.
Mierz przy trzech stałych kamerach
Budżetuj dla najgorszego realistycznego widoku, nie średniej, wybierz trzy stałe „kamery budżetowe" na mapę (najgorsza panorama, najgęstsza przestrzeń walki, najbardziej ruchliwe wnętrze) i mierz dokładnie tam, za każdym razem.
Losowe przeloty produkują losowe liczby i niefalsyfikowalne argumenty. Stałe kamery produkują linie trendu: ten sam widok, mierzony co tydzień, pokazuje dokładnie, kiedy i gdzie wylądowała regresja i kogo o nią spytać. Najgorsza panorama zasługuje na rolę główną, bo piętrzy wszystko naraz, maksymalny dystans rysowania, każdy pierścień LOD, teren, wodę i niebo jednocześnie. Mapa, która trzyma budżet przy swojej panoramie, trzyma go niemal wszędzie; korytarze ci schlebiają, a panoramy mówią prawdę.
Zapisz pozycje kamer w mapie, by każdy odtworzył dokładny kadr. „Działa dobrze na mojej maszynie pod jakimś kątem" to nie dane; „kamera budżetowa 2 mierzy 9,2 ms na minimalnej specyfikacji, w górę z 7,8 w zeszłym tygodniu" to zgłoszenie błędu z podejrzanym.
Uczyń budżet widocznym tam, gdzie dzieje się praca
Budżet w wiki jest martwy, żyje jako nakładki statystyk podczas aranżacji, kontrola wobec pułapów przed mergami treści i ostrzeżenia, gdy wypiek przekroczyłby liczbę instancji.
Artyści chętnie trzymają budżety, gdy sprzężenie zwrotne jest natychmiastowe, i mają do nich żal, gdy przychodzą jako zgłoszenie błędu trzy miesiące po wysłaniu pracy. Strona narzędziowa liczy się tu w cichy, lecz decydujący sposób: gdy scatter i blending wypiekają do prymitywów natywnych silnika (zwykłych instancjonowanych siatek i foliage, jak robi Numivo) twój istniejący profiler mówi o nich nieupiększoną prawdę, bez runtime'u pluginu mącącego liczby, a każda standardowa dźwignia (dystanse cullingu, LOD-y, liczby instancji) stosuje się niezmieniona. Budżet, który możesz mierzyć tylko przez czarną skrzynkę, to budżet, któremu po cichu przestaniesz ufać.
Kadencja przeglądów, która się przyjmuje
Cotygodniowe zrzuty trzech kamer budżetowych (pięć minut), zautomatyzowana kontrola pułapów na mergach treści i comiesięczny przegląd samych pułapów, budżety to szacunki, a uczciwa rewizja bije ciche naruszenie.
- Cotygodniowo: zrób zrzut trzech kamer z włączonymi statystykami; zapisz czas klatki i pamięć we wspólnym arkuszu. Trendy pojawiają się w miesiąc, a skok wskazuje pracę konkretnego tygodnia.
- Przy mergu: zautomatyzowana kontrola porównuje scenę z pułapami. Czerwone liczby otwierają rozmowę, nie zepsuty build, celem jest świadomość, nie biurokracja, a twarda blokada uczy ludzi obchodzić kontrolę.
- Comiesięcznie: wróć do samych kawałków. Rzeczywistość w połowie projektu zawsze różni się od domysłów przedprodukcyjnych; otwarte dostosowanie budżetu utrzymuje jego wiarygodność. Budżet, który wszyscy po cichu ignorują, jest gorszy niż żaden, bo uczy zespół, że pułapy to teatr.
Gdy liczby zapalają się na czerwono
Pociągaj dźwignie w kolejności opłacalności, dystanse cullingu i ustawienia cieni najpierw (minuty, ogromne wygrane), potem LOD-y i impostory, potem liczby instancji, a dopiero na końcu samą grafikę.
Optymalizacja to triaż, nie rozbiórka. Grafikę burz na końcu, większość panoram ponad budżet wraca na zielono ze zmian ustawień niewidocznych na długo, zanim musisz usunąć cokolwiek, co gracz może zobaczyć.
Kosztowny błąd to skok wprost do „usuń połowę drzew". Gęstość to dźwignia najbardziej widoczna i zwykle nie najtańsza, panorama ponad o 2 ms zwykle wraca na zielono z samego strojenia dystansu cieni i cullingu, obu niewidocznych dla graczy. Usuwanie treści to ostateczność właśnie dlatego, że to jedyna dźwignia, którą gracze mogą zobaczyć; każdy szczebel nad nią na drabinie jest darmowy z punktu widzenia grafiki. Schodź drabiną, a zachowasz wygląd, odzyskując milisekundy; wchodź od dołu, a zeszpecisz grę, zanim spróbujesz darmowych wygranych.
Liczby z pola warte podkradzenia
- Klatka w 60 fps: 16,6 ms (środowiska zwykle negocjują 6–8 ms
- Wykonalny podpodział środowiska: teren 1,5 / roślinność 2–2,5 / propy 1,5 / woda i atmosfera 1 (ms)
- Kamery budżetowe na mapę: 3) panorama, walka, wnętrze, zapisane w mapie
- Koszt cotygodniowego pomiaru: ~5 minut; wartość: linie trendu zamiast sporów
- Kolejność dźwigni na czerwono: culling → cienie → LOD-y → instancje → grafika
Mini-FAQ
Kto jest właścicielem budżetu środowiska? Jedna wskazana osoba (zwykle tech artysta) jest właścicielem pomiaru; pułapy są w posiadaniu wspólnym z renderowaniem. Budżety bez właściciela rozpadają się w folklor w miesiąc, bo „wszyscy odpowiedzialni" znaczy, że nikt nie mierzy.
Jak budżety działają z dynamiczną porą dnia? Mierz najgorszy warunek oświetleniowy przy każdej kamerze, nie najładniejszy. Świt z długimi cieniami po powierzchni często kosztuje dwa razy tyle co południe; budżet trzymający tylko w południe to pół budżetu, a gracze znajdą drogą godzinę.
Czy potrzebuję tego wszystkiego dla małego projektu indie? Zmniejsz skalę, nie usuwaj. Jedna kamera budżetowa, jeden pułap (czas klatki na twojej maszynie minimalnej specyfikacji), sprawdzany co tydzień. Pięciominutowy nawyk to to, co ratuje ostatni miesiąc, bez względu na wielkość zespołu tryb porażki jest identyczny: odkrycie kosztu, gdy jest drogi do naprawy.
A pamięć wobec czasu klatki? To różne budżety o różnych trybach porażki, czas klatki obniża FPS, pamięć zamienia streaming w zacięcia lub crashe. Budżetuj oba; na konsoli pamięć bywa twardszym pułapem i to ona oblewa certyfikację, zamiast tylko źle się czuć.
Budżet to nie limit artyzmu, to powód, dla którego piękna scena wciąż wygląda pięknie w 60 fps na sprzęcie, który gracze naprawdę mają. Zespoły traktujące wydajność jako wspólne ograniczenie projektowe wydają ładniejsze gry niż zespoły traktujące ją jako bossa końcowego.