Szybkie ogłoszenie: Nie ma obecnie planów aktualizacji FoamFix na 1.14+ ani dla Forge, ani dla Fabric.

FoamFix to mod zaprojektowany w celu optymalizacji niektórych aspektów modowanego Minecrafta za pomocą prostych, ukierunkowanych optymalizacji.
FoamFix koncentruje się w szczególności na następujących aspektach modowanego Minecrafta:
- Zużycie pamięci (w Minecraft 1.8+). To był pierwotny powód powstania FoamFix i najważniejszy powód jego przyjęcia w modpakach. Obserwacje pokazują, że w szczególnie ciężkich modpakach zużycie pamięci Java (mierzone w menu głównym, po zakończeniu ładowania gry, za pomocą VisualVM) może spaść nawet o 50%!
- Zużycie TPS, szczególnie na większych serwerach – ulepszenia ładowania widmowych chunków i sieci nie pomogą zbytnio w grze jednoosobowej, ale mogą być niezwykle korzystne przy skalowaniu świata wieloosobowego.
Istnieją również inne, drobniejsze optymalizacje, ale prawdopodobnie nie będą miały bezpośredniego znaczącego wpływu na twoją rozgrywkę. Sprawdź plik foamfix.cfg, aby zobaczyć pełną listę!

Najczęściej zadawane pytania (FAQ)
- P: Mam problemy z wydajnością, a usunięcie FoamFix rozwiązuje je!
- O:Upewnij się, że zaktualizowałeś do najnowszej wersji. Nie jestem w stanie przetestować FoamFix na tysiącach konfiguracji sprzętowych komputerów własnymi zasobami, a czasami mogą wystąpić problemy specyficzne dla niektórych z nich. Jeśli zaktualizowałeś do najnowszej wersji i nadal masz problemy, skontaktuj się ze mną!
- P: Czy mogę uruchomić FoamFix po stronie serwera/klienta, jeśli nie jest obecny po stronie klienta/serwera?
- O: Tak.
- P: Czy mogę mieszać wersje FoamFix między serwerem a klientem?
- O: Podobnie, tak.
- P: Dlaczego istnieje FoamFix do 1.7.10?
- O: FoamFix jest przeznaczony głównie dla modowanego Minecrafta 1.8+. Jednak niektóre z jego późniejszych optymalizacji – szczególnie naprawy widmowego ładowania chunków – w połączeniu z porzuconymi projektami napraw i optymalizacji (BugfixMod, Minecraft Forkage) skłoniły mnie do stworzenia moda optymalizacyjnego pod tą samą nazwą dla 1.7.10, który dzieli część funkcjonalności. Jak zawsze, sprawdź foamfix.cfg, aby dowiedzieć się więcej!
- P: Czy możesz zrobić FoamFix dla vanilla?
- O: Prawie cały FoamFix koncentruje się na optymalizacjach specyficznych dla modowanych środowisk. Przeniesienie go do vanilla miałoby bardzo niewiele korzyści, ponieważ samo vanilla jest bardziej wydajne niż nawet Forge+FoamFix. Jeśli prowadzisz duży serwer vanilla, lepszym pomysłem może być użycie dedykowanego rozwiązania.
- P: Czy mogę uruchomić FoamFix w środowisku deweloperskim?
- O: Tak, ale musisz ręcznie odobfuskowac go za pomocą BON2 lub podobnego narzędzia.
Zgłaszanie błędów
Proszę spróbuj najpierw odtworzyć błąd bez FoamFix – jeśli nadal występuje bez FoamFix, najprawdopodobniej nie jest to problem FoamFix.
Kiedy zgłaszasz błąd, który pojawia się tylko z zainstalowanym FoamFix,
- Proszę zgłaszaj je TYLKO tutaj! Pomaga mi to śledzić istniejące problemy.
- W szczególności proszę nie zgłaszaj ich innym twórcom modów! Jeśli dojdę do wniosku, że problem jest spowodowany przez inny mod, zrobię co w mojej mocy, aby samodzielnie skontaktować się z jego autorem i omówić naprawę; jednak niepotrzebne zgłoszenia błędów są uciążliwe.
Dodatkowe wskazówki
(Uwaga: ta sekcja zostanie w przyszłości przepisana jako bardziej kompleksowy przewodnik optymalizacji)
- Włącz alwaysSetupTerrainOffThread w forge.cfg. (Od wersji 0.6.3 FoamFix zrobi to automatycznie dla nowych instancji!)
- Jeśli doświadczasz opóźnień związanych z „widmowym ładowaniem chunków” (zauważalny skok opóźnień co ~30 sekund), sposobem na częściowe obejście problemu jest zwiększenie wartości dormantChunkCacheSize w forgeChunkLoading.cfg.
- Dla niektórych konfiguracji GPU/sterowników (w szczególności niektóre pary sterowników/kart AMD), wyłączenie mipmap (ustawienie poziomów mipmap na 0) znacznie zwiększy FPS. Wynika to z opóźnień spowodowanych aktualizacjami animowanych tekstur, które są znacznie większe przy zwiększającej się liczbie tekstur do aktualizacji, co skaluje się liniowo z liczbą poziomów mipmap.
- Na dedykowanych serwerach ustawienie max-tick-time=0 może rozwiązać awarie związane z „java.lang.Error: Watching server”. Wciąż badam, dlaczego tak się dzieje!
Typowe awarie
- java.lang.NoSuchMethodError: net.minecraftforge.common.model.TRSRTransformation.isIdentity()Z w FoamFix 0.9.6+ – Zaktualizuj Forge do najnowszej zalecanej wersji lub przejdź na starszą wersję FoamFix (0.9.5).
- java.lang.IllegalArgumentException: Cannot set property [...], it is not an allowed value – Ścieżka kodu powodująca ten błąd bardzo dokładnie naśladuje zachowanie vanilla i powinna powodować tę samą awarię bez FoamFix. Upewnij się, że nie można jej odtworzyć bez FoamFix.
- Jeśli używasz SpongeForge razem z FoamFix (pamiętaj, że nie wspieram tego), typową awarię związaną z MixinMutableBlockPos można naprawić, wyłączając coremod.optimizedBlockPos w config/foamfix.cfg.
Wsparcie
- Proszę używaj tylko trackera problemów na GitHub do zgłaszania błędów. Ułatwia to ich śledzenie.
- Proszę pamiętać, że „brak wsparcia” nie oznacza „w ogóle nie działa” – raczej oznacza to, że „rzeczy mogą się zepsuć i z różnych powodów mogę nie być w stanie ci pomóc”. Bądź ostrożny!
Następujące mody nie są obsługiwane i nie mogę zagwarantować zadowalających poprawek związanych z interakcjami z nimi:
-
- FastCraft 2. Licencjonowanie jest bardzo restrykcyjne, a debugowanie niemożliwe bez polegania na deweloperze jako wyroczni.
- NotEnoughIDs. Nieutrzymywany od września 2017.
- OptiFine. Licencjonowanie jest bardzo restrykcyjne, a debugowanie niemożliwe bez polegania na deweloperze jako wyroczni.
- Sponge. Niektóre zmiany w silniku są w konflikcie. (Zauważ, że nawet jeśli masz Sponge po stronie serwera, używanie FoamFix po stronie klienta podczas łączenia się z serwerem Sponge jest obsługiwane!)
- TexFix.
- większość innych zastrzeżonych modów optymalizacyjnych. Jeśli nie widzę kodu źródłowego, raczej nie będę pracować nad naprawą.