Entity Culling — mod pro optimalizaci vykreslování neviditelných objektů v Minecraftu
Entity Culling optimalizuje Minecraft tím, že přeskakuje vykreslování objektů skrytých za zdmi nebo terénem, což snižuje zátěž grafické…
Entity Culling optimalizuje Minecraft tím, že přeskakuje vykreslování objektů skrytých za zdmi nebo terénem, což snižuje zátěž grafické karty.
Entity Culling — mod pro optimalizaci vykreslování neviditelných objektů v Minecraftu
Verze Minecraftu, na které byl článek testován a napsán: 1.21.10
Podporovaný rozsah verzí: 1.7.10 – 26.2
Entity Culling je klientský mod pro Minecraft, který z vykreslování odstraňuje entity bloky a entity skryté za terénem a stavbami. Ve vanilla hře klient spotřebovává zdroje na truhly, majáky, moby a další objekty i tehdy, když jsou zcela zakryty stěnami nebo stropy a fyzicky se vůbec nedostanou do záběru. Mod určuje skutečnou viditelnost každého takového objektu a přeskočí ho, pokud je zorná linie zakryta. Výsledkem je, že mizí zbytečná volání vykreslování a část zátěže se odebírá z grafické karty v hustě zastavěných lokalitách.
Jak funguje ořezávání skrytých objektů
Základem modu je asynchronní sledování paprsků (path-tracing). Využívají se volná vlákna procesoru: paralelně s hlavním herním vláknem se počítá, zda existuje přímá zorná linie od kamery ke každému objektu. Výpočet probíhá v reálném čase a neblokuje hlavní vlákno, takže se viditelnost během pohybu neustále aktualizuje.
Vanilla ořezávání a kontrola v Sodiu fungují na úrovni chunků: objekt se vykreslí, pokud je načtený chunk, ve kterém stojí. Zde je přístup přesnější — bere se v úvahu přímo zorná linie. Objekt, který stojí ve viditelném chunku, ale je zakrytý horou, zdí základny nebo střechou, bude přeskočen. Do ořezávání spadají entity bloky (truhly, majáky, sudy) i běžné entity — mobové a další pohyblivé objekty.

Ukázka snímkové frekvence přes F3 se zapnutým modem

Ukázka snímkové frekvence přes F3 s vypnutým modem
Kde je rozdíl nejvíce patrný
Přínos závisí na tom, kolik objektů ve scéně je skryto před kamerou. Největší efekt je patrný ve velkých základnách, v technických skladech se stovkami truhel, v podzemních komplexech a na serverech s hustou zástavbou, kde se v dosahu vykreslování za stěnami nachází mnoho entity bloků a mobů. Na otevřeném poli bez zástavby je přínos minimální, protože není téměř co skrývat.
Optimalizace ticků entit
Nezávisle na vykreslování může mod omezit zpracování ticků u entit, které momentálně nejsou vidět. Dokud je entita skrytá, klient aktualizuje jen to nejnutnější, a zátěž způsobená velkým počtem neviditelných mobů klesá. Přepínač se zapíná v nastavení a ve výchozím stavu je aktivní.
Optimalizace se týká pouze klientské strany. Serverovou simulaci mod nijak neovlivňuje: mobové se stále objevují, pohybují se a upouštějí předměty a farmy fungují beze změn.
Klientské entity: některé mody (zejména magické) používají čistě klientské entity pro animace a efekty. Pokud jsou takové entity ořezány nebo nedostávají ticky, jejich animace se může chovat nesprávně. Takové objekty je třeba přidat do příslušného whitelistu v nastavení.
Závěr
Entity Culling odlehčuje vykreslování a část zpracování objektů, které hráč fyzicky nevidí, tím, že přesouvá výpočet viditelnosti na samostatná vlákna procesoru. Na rozdíl od vestavěného ořezávání entit v Sodiu, které je zaměřené na viditelné chunky, se zde bere v úvahu přímo zorná linie, takže se přeskočí více skrytých objektů. Hlavním omezením je, že některé entity bloky a klientské efekty z části modů mohou mizet nebo blikat, dokud je ručně nevyloučíte z ořezávání. Nejvíce z modu těží hráči ve survivalu s rozsáhlou výstavbou, na technických buildech a v náročných modpacích, kde je v zorném poli neustále mnoho skrytých objektů.
Instalace
Typická instalace trvá asi 5 minut. Postup je stejný; liší se jen loader a odpovídající verze.
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











