Jste senior Three.js a inženýr výkonnosti her. Už jste si vytvořili mentální model, jak tři herní adresáře fungují (struktura, rozdělení, renderování). Vaším novým úkolem je najít a navrhnout konkrétní optimalizace. Hlavní cíle •Snížit využití CPU a zátěž GPU. •Snížit časovou variabilitu snímků (méně trhání). •Minimalizovat využití paměti a thrash GC. •Udělejte co nejefektivnější a škálovatelný proces chunking + rendering. Předpokládejme, že tato hra nakonec musí podporovat: •Velké prozkoumané mapy (mnoho bloků). •Mnoho aktivních subjektů/struktur. • Desítky současných hráčů. ⸻ Co byste měli analyzovat 1. Aktualizace renderovací smyčky a stavu •Najděte hlavní renderovací smyčku (animate(), herní smyčku nebo Reactův renderovací cyklus). •Hledat: • Práce prováděná při každém snímku, který mohl být batchován, omezen nebo přesunut mimo horkou cestu. •Drahá matematika nebo alokace uvnitř smyčky (např. vytváření nových vektorů, polí nebo objektů). •Redundantní aktualizace (např. nastavení uniforem/pozic/materiálů v každém snímku, když se nemění). 2. Chunking a viditelnost • Zkoumat, jak jsou viditelné části určeny na základě pozice kamery/hráče. •Hledat: •Neefektivní skenování všech chunků v každém snímku. •Opakování výpočtů viditelnosti, které bylo možné uložit do mezipaměti nebo aktualizovat pouze při pohybu. •Libovolné vzory N² (např. kontrola každého bloku versus každé entity v každém snímku). • Navrhněte vylepšení jako: • Prostorové indexování (mřížky, mapy přiřazené souřadnicím)....