BadOptimizations
Zbiór głównie mikrooptymalizacji, które sumują się w coś większego!
Co robi mod?
Kilka rzeczy:
- Unikanie aktualizacji mapy światła
Aktualizowanie tekstur mapy światła to jedna z najdroższych operacji w cyklu klienta. Podczas każdego ticka klient wykonuje obliczenia wektorowe, aby wyliczyć mapy światła dla bloków i nieba, a następnie przesyła nową teksturę do GPU. Można tego jednak całkowicie uniknąć i użyć pamięci podręcznej, jeśli nic, co wpływa na jasność bloków, się nie zmieniło. Ten mod anuluje aktualizacje mapy światła, jeśli nic, co zmienia jasność bloków (np. suwak gamma, efekty mikstur, wymiar), nie uległo zmianie.
- Optymalizacje obliczania koloru nieba
Minecraft używa sześciennego próbnika kolorów w każdej klatce, aby obliczyć aktualny kolor nieba. Funkcja ta wykonuje pętlę 216 razy, uwzględniając otaczające biomy, nawet jeśli wszystkie są identyczne lub mają identyczne kolory nieba. Ten mod sprawia, że próbnik kolorów jest używany tylko wtedy, gdy znajdujesz się pomiędzy biomami o różnych kolorach nieba, i przechowuje wynik w pamięci podręcznej na każdy tick. W przeciwnym razie stosowane jest krótsze, prostsze i szybsze obliczenie koloru nieba.
- Nie wykonuj logiki debugowej, jeśli nie jest potrzebna
Minecraft ma cztery debugowe rendery, które można aktywować za pomocą debugowego serwera: pszczoły, zdarzenia gry, testy gry oraz AI wieśniaków. Nawet jeśli nie ma nic do przetworzenia, logika tych renderów debugowych jest i tak wykonywana. Ten mod uruchamia je tylko wtedy, gdy debug jest włączony i są dostępne dane od serwera do przetworzenia.
To tylko kilka z nich. W razie potrzeby możesz wyłączyć dowolną optymalizację w pliku konfiguracyjnym.
Jak bardzo to pomaga?
Zależy od twojego systemu i szczęścia, ale na moim własnym PC – RTX 3060, Intel i7 12700 i 4 GB przydzielonego RAM-u na Fabulously Optimized:
Bez toastów: z 1926–1955 FPS:

Na 2008–2023 FPS:

A z toastami: z 1351–1384 FPS:

Na 1414–1458 FPS:

Mój mod jest niekompatybilny!
Możesz oznaczyć swój mod jako niekompatybilny z konkretnymi opcjami BadOptimizations. Jeśli twój mod jest obecny, BadOptimizations automatycznie wyłączy określone opcje.
Zależności?
Brak.
Więcej na stronie GitHub.