Скачать Experimental Performance — Minecraft Моды — MetaMods

Experimental Performance

Активный

Установок

0

Последнее обновление

1 год назад

Версии

1.20.4
Клиент
Fabric
Оптимизация игры

Experimental Performance

Оптимизация распределения памяти

Некоторые классы в Minecraft могут занимать значительный объем памяти, что создает проблемы для производительности. Дело в том, что процессор вашего компьютера может обрабатывать только 64 байта за один раз в своей кэш-линии. Если объект превышает этот размер, ему приходится разбиваться на несколько линий, что серьезно замедляет выполнение операций.

Оптимизация чанков

Чанки в игре изначально занимают 80 байт памяти. Благодаря специальным оптимизациям мы смогли перенести часть переменных из класса Chunk и перенаправить все обращения к ним. Это позволило уменьшить размер чанка до оптимальных 64 байт, что на некоторых системах ускоряет операции с чанками до 4 раз!

Улучшение работы с блоками

Блоки также являются ресурсоемкими объектами размером 72 байта. Мы применили аналогичный подход: перенесли часть данных в отдельный класс BlockInfo, что уменьшило вес основного класса. Это не только ускорило передачу блоков, но и предотвратило ситуацию, когда некоторые блоки могли занимать более 128 байт, что потребовало бы уже трех кэш-линий.

Работа с сущностями

Сущности представляют наибольшую сложность для оптимизации - они занимают целых 272 байта (5 кэш-линий). Неудивительно, что они часто вызывают лаги! Нам удалось сократить этот размер до 4 кэш-линий. Дальнейшая оптимизация потребовала бы серьезного вмешательства и могла бы нарушить совместимость с другими модами.

Почему Mojang не делает этого?

Разработчики Minecraft уже внедряли подобные оптимизации в прошлом, но в последние годы они, похоже, уделяют меньше внимания вопросам производительности. Многие классы значительно разрослись в размерах, что негативно сказывается на скорости работы игры. Наш мод призван решить эту проблему.

Особенности оптимизации

Повышение производительности - сложная задача, требующая глубокого понимания работы компьютера. Наш подход заключается в оптимизации структур данных игры для более эффективной работы с аппаратным обеспечением. Хотя это требует дополнительных вызовов и выделения памяти, выигрыш в производительности значительно превосходит эти затраты.

Экспериментальный статус

Важно понимать: этот мод является экспериментальным и использует сложные методы оптимизации путем перераспределения классов. Не рекомендуется включать его в модпаки и сообщать о проблемах совместимости. Проект создавался как доказательство концепции возможности дальнейшей оптимизации Minecraft через уменьшение размеров классов. Хотя тесты показали значительное улучшение производительности, мод требует дальнейшей доработки и тестирования.

Участники проекта
FX

FX

Разработчик

PedrixzZ

PedrixzZ

Разработчик

Создан: 6 янв 2024

ID: 3289