Entity Culling — mod optymalizujący renderowanie niewidocznych obiektów w Minecrafcie
Entity Culling ukrywa przed renderowaniem encje i bloki-encje zasłonięte ścianami, zmniejszając obciążenie karty graficznej w bazach i…
Entity Culling ukrywa przed renderowaniem encje i bloki-encje zasłonięte ścianami, zmniejszając obciążenie karty graficznej w bazach i magazynach.
Entity Culling — mod optymalizujący renderowanie niewidocznych obiektów w Minecrafcie
Wersja Minecrafta, na której przetestowano i napisano artykuł: 1.21.10
Zakres obsługiwanych wersji: 1.7.10 – 26.2
Entity Culling to kliencki mod do Minecrafta, który usuwa z renderowania bloki-encje i encje ukryte za terenem i budynkami. W wersji vanilla klient zużywa zasoby na renderowanie skrzyń, latarni, mobów i innych obiektów nawet wtedy, gdy są całkowicie zasłonięte ścianami lub stropami i fizycznie nie znajdują się w kadrze. Mod określa rzeczywistą widoczność każdego takiego obiektu i pomija go, jeśli linia widzenia jest zasłonięta. W efekcie znikają zbędne wywołania renderowania, a część obciążenia zdejmowana jest z karty graficznej w gęsto zabudowanych lokacjach.
Jak działa wycinanie ukrytych obiektów
Podstawą moda jest asynchroniczne śledzenie promieni (path-tracing). Wykorzystywane są wolne wątki procesora: równolegle z głównym wątkiem gry obliczane jest, czy istnieje prosta linia widzenia od kamery do każdego obiektu. Obliczenia odbywają się w czasie rzeczywistym i nie blokują głównego wątku, dzięki czemu podczas ruchu widoczność jest aktualizowana nieprzerwanie.
Wanilijowe wycinanie i sprawdzanie w Sodium działają na poziomie chunków: obiekt jest renderowany, jeśli załadowany jest chunk, w którym się znajduje. Tutaj podejście jest dokładniejsze — brana jest pod uwagę sama linia widzenia. Obiekt stojący w widocznym chunku, ale zasłonięty górą, ścianą bazy lub stropem, zostanie pominięty. Wycinaniu podlegają bloki-encje (skrzynie, latarnie, beczki) oraz zwykłe encje — moby i inne poruszające się obiekty.

Demonstracja liczby klatek na sekundę przez F3 z włączonym modem

Demonstracja liczby klatek na sekundę przez F3 z wyłączonym modem
Gdzie różnica jest zauważalna
Zysk zależy od tego, ile obiektów w scenie jest zasłoniętych przed kamerą. Największy efekt widać w dużych bazach, na technicznych magazynach z setkami skrzyń, w podziemnych kompleksach i na serwerach z gęstą zabudową, gdzie w promieniu renderowania wiele bloków-encji i mobów stoi za ścianami. Na otwartym polu bez zabudowy zysk jest minimalny, ponieważ prawie nie ma czego ukrywać.
Optymalizacja ticków encji
Niezależnie od renderowania mod może ograniczać przetwarzanie ticków dla encji, które aktualnie nie są widoczne. Dopóki encja jest ukryta, klient aktualizuje tylko to, co niezbędne, a obciążenie od dużej liczby niewidocznych mobów spada. Przełącznik włącza się w ustawieniach i domyślnie jest aktywny.
Optymalizacja dotyczy wyłącznie strony klienckiej. Mod nie wpływa na symulację po stronie serwera: moby nadal się pojawiają, poruszają i upuszczają przedmioty, a farmy działają bez zmian.
Encje klienckie: niektóre mody (w tym magiczne) wykorzystują czysto kliencie encje do animacji i efektów. Jeśli takie encje są wycinane lub nie otrzymują ticków, ich animacja może działać nieprawidłowo. Takie obiekty należy dodać do odpowiedniej białej listy w ustawieniach.
Podsumowanie
Entity Culling odciąża renderowanie i część przetwarzania obiektów, których gracz fizycznie nie widzi, przenosząc obliczenia widoczności na osobne wątki procesora. W przeciwieństwie do wbudowanego wycinania encji w Sodium, zorientowanego na widoczne chunki, tutaj brana jest pod uwagę sama linia widzenia, dzięki czemu pomijanych jest więcej ukrytych obiektów. Głównym ograniczeniem jest to, że pojedyncze bloki-encje i efekty klienckie z niektórych modów mogą znikać lub migać, dopóki nie zostaną ręcznie wykluczone z wycinania. Najwięcej na modzie zyskują gracze trybu przetrwania z rozbudowanym budownictwem, na modpackach technicznych i ciężkich modpakach, gdzie w polu widzenia stale znajduje się wiele ukrytych obiektów.
Instalacja
Typowa instalacja zajmuje około 5 minut. Procedura jest taka sama; różni się tylko loader i odpowiedni build.
- 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.











