To apply the Shenandoah garbage collector to Minecraft 1.17+:
1) Download and install Java (JRE) 17 from Azul for your OS - www.azul.com/downloads/#downl...
2) Set up Minecraft to run with this Java (skip if you downloaded the installer file, not the zip)
3) Add the following launch options for Minecraft:
-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive
Default garbage collector settings:
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
My Telegram channel (in Russian): t.me/NaoCraftLab
Кто попробовал, пишите свои впечатления под этим комментарием! Не забудьте указать версию Minecraft и Java, а также объем оперативной памяти, выделенный игре при запуске.
1.20.4, Java 17.0.8, памяти выделил 9984 Мб 2666 Мгц. Способ помог, но незначительно.
1.20.4 java 22, скачал по ссылке, 8к памяти, пока сложно сказать действительно ли стало лучше, но по ощущениям плавнее стало, видео не записывал, но я только только новый мир начал. Поиграю какое-то время. Потом еще сравню. В любом случае спасибо. Лайк, подписка.
Раньше ваще не мог играть в майн в одиночном мире из за фризов, теперь их стало на много меньше, спасибо.
Оо ты вернулся
ВОУ, ПОМОГЛО СИЛЬНО! ПРОСТО НАДО РАЗОБРАТСЯ!, А С ЭТИМ МНЕ ПОМОГ АВТОР ВИДЕО В ТГ!!! БЫЛО 60-70 ФПС, А ТЕПЕРЬ 100-140))) СПС!!!
Реально работает, фризов по минимуму. Ты какой то волшебник что ли, спасибо.
Это не я ) Это разработчики Java и Алексей Шипилев, который является одним из разработчиков этого сборщика мусора и рассказывает о нем на конференциях по Java.
❤@@NaoCraftLab
Друзья, я упустил один важный нюанс! Не каждый поставщик Java включает данный сборщик мусора в свою сборку. У Oracle (самый распространенный поставщик) для Java 17 он не включен. Чтобы Shenandoah гарантировано заработал используйте Java от Azul. Инструкцию по настройке под видео я обновил. Спасибо @znak_ за обнаружение данной особенности!
Стало чуть меньше статтеров, спасибо. Версия 1.20.1, Java 17.0.10, выделено 6 Гб
❤
Не подскажешь для версии 1.18.2 Java нужна 17 или можно по выши скачать
Она требует минимум 17, но можно поставить хоть 22. Но если твой лаунчер проверяет версию лжава (так делает MultiMC) то галочку надо снять с этой проверки чтобы он не ругался
Вписал параметры запуска по умолчанию, немного полетал на элитрах с большой прорисовкой, показалось, что стало чуть лучше, чем было до. Потом скачал Java от Azul, установил, вписал новые параметры запуска и вновь полетал - по ощущениям иногда лучше, чем со стандартными параметрами, а иногда чуть хуже, но фризы при прогрузке чанков всё ещё имеются. В целом, способ рабочий, но я думаю, что в моём случае этому способу не даёт раскрыться полностью оперативная память. Как думаете, если я обновлю оперативку с 2666 Мгц до 3200 Мгц, станет ли ситуация лучше?
Это сложный вопрос. Я слишком давно живу без винды и сейчас уже знаний не хватит проанализировать сборку компа. Точно знаю что майну с шейдерами критична видеопамять. А оперативки нужно тем больше, чем больше модов. Увеличение частоты памяти вряд ли даст прям заметную разницу. В общем, с железом все уж слишком индивидуально (
обязательно ли ставить java от azul, если я играю на официальном лаунчере и он автоматически ставит java по умолчанию? и как настроить java azul под официальный лаунчер?
У меня в официальном лаунчере все успешно работает на встроенной Java. Но у меня macOS и я не уверен что на всех платформах они используют одного и того же поставщика. Попробуй просто добавить "Параметры JVM" в настройках своей сборки. А если не заработает, то уже качай Azul. Выбрать ее можно будет в тех же расширенных настройках "Установки" - "Путь к Java". Туда надо добавить путь до файла bin/java
Вопрос: А куда вписывать команду -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive в prizma лаунчере? там грубо говоря не такой лаунчер как оф. маинкрафтовский.
Призмом я сам пользуюсь) Редактировать сборку - Настройки - Поставить галку Аргументы Java - вписать туда эту строку
@@NaoCraftLab Спасибо!
Привет, не знаю как это возможно, но я играю на довольно тяжёлой сборке модов и когда я прогружаю новую большую партию чанков у меня потребление ОЗУ выросла примерно до 96 процентов. И как очевидно игра зависала. В общем-то с помощью данного способа все новые чанки стали прогружаться ощутимо быстрее. Также потребелние операьивной пямяти сократилось в разы. Но хотел бы уточнить один важный нюанс. Возможно это связано с железом иои с моей сборкой. Некоторые участки новой территории прогружалист или неккоректно иои вовсе ( пустой чанк). Эта проблема не вызвала у меня каких либо проблем, так как встречаеться ≈ на 700 блоков
А сколько ты выделил оперативки для запуска это сборки? И сразу доп вопрос, минимальное и максимальное количество оперативки одинаковым выставил или только максимальное задал?
Данный способ работает на уровне виртуальной машины Java и ни как не взаимодействует с самой игрой. Может быть какие-то оптимизационные моды меняют загрузку чанков так, что происходит вот такой эффект. К сожалению, я исходники майна не так много читал чтобы корректно предположить как так может получиться.
@@NaoCraftLab это не так серьезно так как проблема не очень то и меня затрагивает. Выделил 4гб ОЗУ ( макс.) Спасибо вам за данный видео ролик результатом производительности сильно доволен. Лайк👍
Можно на ты ) Выстави еще -Xms4G или через параметры лаунчера 4Gb минималку. Тогда у тебя в первые минуты после запуска будет еще чуть меньше лагов, тк джаве не придется последовательно наращивать используемый размер оперативки
@@NaoCraftLab помогло спасибо
В описании написано "Скачайте и установите Java (JRE) 17", можно ли скачать Java 22 от того же Azul, будет ли тоже самое?
И какая разница между JDK и JRE, что лучше ставить?
Да, можно использовать и 22 версию, но могут быть проблемы с некоторыми модами. Плюс, некоторые лаунчеры типа MultiMC и его форков делают проверку используемой версии и не дают запуститься без снятия галочки об этой проверке. Так что нужно балансировать, особенно учитывая то что шинанду активно развивается и в 22 версии может работать эффективнее чем в 17.
JDK - это та же Java, только с дополнительными инструментами для разработчиков. Если ты не пишешь моды, то достаточно использовать JRE, там только компоненты для запуска Java приложений, которым Minecraft и является.
@@NaoCraftLab Я просто думал, что в JDK улучшенные функции JRE, т.к. это типо для разработчиков, но ошибался как я понял, спасибо
@notremuno не, ни каких улучшений там нет ) там инструменты отладки и сборки для приложений. Да и это было бы не логично, важно чтобы приложение хорошо работало именно у пользователей.
Я вот хотел спросить а Ява 17 для 1.9.3 прокатит?
К сожалению нет. Там 8 кажется была еще. С 1.17 обновилась и в 1.21 снова обновится
А возможно, когда я играю с шейдерами, фризы могут возникать из-за резкого падения GPU с 98% до 40-50% и обратно. Есть ли фикс данной проблемы?
Если падает потребление GPU, то скорее всего процессор не успевает подготовить для него данные. Поищу способ выяснить это более детально и скину.
Тоже сталкивался с данной проблемой, буду рад помощи
Пока кроме предположения что проц не успевает подготавливать кадры для видеокарты, я ничего не нарыл ( дамп полный не получается снять
Сейчас с еще одним подписчиком вкуриваем примерно ту же проблему. Но у него CPU в 100 уходит постоянно еще. Попробуй с msi афтербернер записать геймплей и скинь в группу в тг. Тоже посмотрю, если еще актуально
А как локнуть количество потребляемой оперативной памяти Майнкрафтом обратно? Если использовать параметры запуска указанные в описании.
Если в лаунчере есть настройка выделяемой памяти то через нее. Иначе, так же через параметры запуска -Xms2G -Xmx2G. Но тут обрати внимание, что шинанду разрабатывался для приложений с большим количеством памяти. По моим наблюдениям от 4Гб заметна разница, но это зависит от конкретной сборки и железа. И еще, я всегда устанавливаю минимальное и максимальное количество памяти одинаковым, чтобы после запуска не ждать когда игра выйдет на свой средний уровень потребления. А автоматическое расширение потребления памяти от минимального значения к максимальному приводит к галам пока происходит процедура расширения.
Можно спросить? Если установить эту Java от Azul, то у меня не работает загрузчик модов fabric и не стартует Minecraft.
Подскажи какая операционка, какая версия майна, какая версия джавы, какой лаунчер? Иначе, не ясно куда копать
@@NaoCraftLab Windows 10 Домашняя (22H2), Версия майна 1.16.5, Java версия 17.0.11, лаунчер Tlauncher 2.923
@papyrus8542 а, это ты в группе в тг писал?
@@NaoCraftLab Нет. Я не состою в ТГ канале.
@papyrus8542 а, просто там была аналогичная проблема
Удалил Java и установил от Azul. Установил параметры запуска с описание и стало только хуже, постояные зависание на пару секунд и фпс колеблиться от 5 до 100 (со старой java и прошлыми настройками параметров запуску было хоть и не всегда но от 200 до 400 фпс и подвисание в полетах.
А сколько оперативки выделил? Какая ОС?
@@NaoCraftLab как оперативку выделить в параметрах запуска я не нашел но ОС 10-ка
Скинь логи в группу в телеге
@@NaoCraftLab что за логи и где их достать?
Вот в этом может быть проблема. Минимум и максимум можно установить параметрами запуска -Xms4G -Xmx4G (эти параметры дадут 4Гб) поменяй цифру на приемлемую. Но с шинанду смысла нет меньше 2Гб использовать особенно нет
Можно ли убрать фризы на новой версии Майнкрафта пе 1.20?
Сори, нк сразу обратил внимание на «пе». Нет, это только для Java Edition.
Перейти в pojavlauncher
@@rine7249 вряд ли Java там поддерживает шинанду
@@NaoCraftLab поддерживает, я проверял
@@NaoCraftLab единственная проблема - надо дописать useNUMA, а то вылетать будет
Фризы пропали совсем
Красота! Очень рад что помогает! ^^
а куда это вписывать в legacy launcher ?
Настройки - Minecraft - Java / JRE (сюда добавляешь скачанную джаву от Azul, дальше справа от нее жмешь Настроить - Вставляй в поле Аргументы Java. И сними галочку «Добавлять оптимизированные аргументы».
@@NaoCraftLab что имеется ввиду под аргументами?
Параметры запуска указанные в описании к видео. А «Аргументы Java» это поле в легаси лаунчере куда их и нужно прописывать
Много воды
Если не объяснить причину, потом придется реферат в комментариях писать. Ты после просмотра понимаешь почему эту оптимизацию надо включать на всех сборках (кроме случаев когда не хватает cpu)?