Experimental Performance
Активный0.0
Установок
Последнее обновление
Версии
Experimental Performance
Оптимизация распределения памяти
Некоторые классы в Minecraft могут занимать значительный объем памяти, что создает проблемы для производительности. Дело в том, что процессор вашего компьютера может обрабатывать только 64 байта за один раз в своей кэш-линии. Если объект превышает этот размер, ему приходится разбиваться на несколько линий, что серьезно замедляет выполнение операций.
Оптимизация чанков
Чанки в игре изначально занимают 80 байт памяти. Благодаря специальным оптимизациям мы смогли перенести часть переменных из класса Chunk и перенаправить все обращения к ним. Это позволило уменьшить размер чанка до оптимальных 64 байт, что на некоторых системах ускоряет операции с чанками до 4 раз!
Улучшение работы с блоками
Блоки также являются ресурсоемкими объектами размером 72 байта. Мы применили аналогичный подход: перенесли часть данных в отдельный класс BlockInfo, что уменьшило вес основного класса. Это не только ускорило передачу блоков, но и предотвратило ситуацию, когда некоторые блоки могли занимать более 128 байт, что потребовало бы уже трех кэш-линий.
Работа с сущностями
Сущности представляют наибольшую сложность для оптимизации - они занимают целых 272 байта (5 кэш-линий). Неудивительно, что они часто вызывают лаги! Нам удалось сократить этот размер до 4 кэш-линий. Дальнейшая оптимизация потребовала бы серьезного вмешательства и могла бы нарушить совместимость с другими модами.
Почему Mojang не делает этого?
Разработчики Minecraft уже внедряли подобные оптимизации в прошлом, но в последние годы они, похоже, уделяют меньше внимания вопросам производительности. Многие классы значительно разрослись в размерах, что негативно сказывается на скорости работы игры. Наш мод призван решить эту проблему.
Особенности оптимизации
Повышение производительности - сложная задача, требующая глубокого понимания работы компьютера. Наш подход заключается в оптимизации структур данных игры для более эффективной работы с аппаратным обеспечением. Хотя это требует дополнительных вызовов и выделения памяти, выигрыш в производительности значительно превосходит эти затраты.
Экспериментальный статус
Важно понимать: этот мод является экспериментальным и использует сложные методы оптимизации путем перераспределения классов. Не рекомендуется включать его в модпаки и сообщать о проблемах совместимости. Проект создавался как доказательство концепции возможности дальнейшей оптимизации Minecraft через уменьшение размеров классов. Хотя тесты показали значительное улучшение производительности, мод требует дальнейшей доработки и тестирования.