BadOptimizations

Fabric

BadOptimizations

Собрали небольших, но полезных микрооптимизаций в один мод — и вот что из этого вышло.

Что он делает?

Избегаем обновления карты освещения
Обновление текстур lightmap — одна из самых затратных операций клиентского тика. Каждый тик клиент считает векторы для неба и блоков, а затем отправляет новую текстуру на видеокарту. Но всю эту работу можно пропустить и закэшировать, если яркость блоков не менялась. Мод отменяет обновление lightmap, когда ничего не влияет на яркость: не двигается ползунок гаммы, не меняются эффекты зелий, не происходит смена измерения.

Не запускаем дебаг-логику без надобности
В Minecraft есть четыре дебаг-рендерера, активируемых через дебаг-сервер: пчёлы, игровые события, игровые тесты и ИИ жителей. Даже когда обрабатывать нечего, их логика всё равно выполняется. Мод запускает их только если дебаг включён и от сервера пришли данные для обработки.

Оптимизация расчёта цвета неба (для версий 1.21.10 и ниже)
Minecraft использует кубический цветовой сэмплер каждый кадр, чтобы определить цвет неба. Функция делает 216 итераций, учитывая окружающие биомы — даже если все они идентичны или имеют одинаковый цвет неба. Мод включает сэмплер только когда игрок находится на границе биомов с разными цветами неба, и кэширует результат на тик. В остальных случаях используется более короткий, простой и быстрый расчёт.

Это лишь часть оптимизаций. Любую из них можно отключить в конфигурационном файле, если потребуется.

Насколько это помогает?

Всё зависит от системы и удачи, но на моём ПК (RTX 3060, Intel i7 12700, 4 ГБ выделенной памяти, сборка Fabulously Optimized) результаты такие:

Без тостов — с 1926–1955 FPS:

до 2008–2023 FPS:

С тостами — с 1351–1384 FPS:

до 1414–1458 FPS:

Мой мод несовместим!

Вы можете пометить свой мод как несовместимый с конкретными опциями BadOptimizations. Если ваш мод обнаружен, BadOptimizations автоматически отключит указанные опции.
Также можно добавить хуки, которые сообщают BadOptimizations о необходимости обновить lightmap или цвет неба — вместо жёсткой несовместимости с кэширующими оптимизациями.

Зависимости?

Никаких.

(Также доступен на CurseForge, если вам так удобнее.)

Все права на данный контент принадлежат его авторам. Мы не храним и не распространяем файлы — страница носит исключительно информационный характер. Оригинальный источник доступен по этой ссылке.

0
0
0

Комментарии (0)

Войдите, чтобы оставить комментарий

Пока нет комментариев

Будьте первым!