▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Seaborgium
Seaborgium

Seaborgium

Мод Seaborgium для Майнкрафт - оптимизация рендеринга HUD. Кэширует uniform-переменные шейдеров, давая прирост до 110 FPS при большом количестве сердец. Устарел - оптимизация встроена в Sodium.

Оцените первым
22.6K
93

Seaborgium (Сиборгиум) - мод для Майнкрафт, который оптимизировал рендеринг ванильного HUD (интерфейса). Небольшой, но хитрый фикс, который сейчас официально устарел, но его история отлично показывает, как работают низкоуровневые оптимизации в Minecraft.

Важно: мод устарел

Разработчик прекратил поддержку. Причина банальная - команда Sodium (Содиум) внедрила аналогичную оптимизацию прямо в свой код. Если у вас стоит свежий Sodium, Seaborgium вам уже не нужен, скачивать его нет смысла.

Код проекта открыт под лицензией ISC. Любой разработчик может форкнуть репозиторий и использовать наработки как хочет.

Какую проблему решал мод

Суть вот в чём. Ванильный рендеринг интерфейса в Майнкрафт работает неоптимально. Особенно это касается отрисовки сердец здоровья. Когда у игрока много эффектов поглощения (absorption), на экране появляются десятки дополнительных сердец. И каждый кадр игра заново запрашивает у видеокарты местоположение uniform-переменных в шейдерах через вызов glGetUniformLocation.

Это медленный OpenGL-вызов. Драйверы видеокарт тратят ощутимое процессорное время на обработку этой функции. А игра дёргает её снова и снова, хотя результат не меняется от кадра к кадру.

Как это работало

Seaborgium добавлял простой кэш. Схема такая:

  1. Когда движок в первый раз вызывает glGetUniformLocation, мод проверяет - есть ли уже закэшированный результат
  2. Если да - возвращает кэшированное значение, не делая сам вызов
  3. Если нет - выполняет вызов и сохраняет результат в кэш

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

Мод поставлялся как unified jar - один файл работал и на Fabric (Фабрик), и на Forge. Удобно, не надо искать разные версии под каждый загрузчик.

Какой прирост FPS давал

Цифры зависят от железа и сценария. Тесты автора проводились на AMD Ryzen 5 5600x, 32GB DDR4 @ 3200Mhz и Nvidia GTX 980ti, с установленными Lithium и Sodium.

Экстремальный сценарий - absorption 255 (максимум дополнительных сердец). Тут разница драматическая: с 53 FPS до 163 в среднем. Тройной прирост. Играть становится реально комфортно вместо слайд-шоу.

Обычная игра - прирост скромнее, но заметный: 30-50 FPS сверху. Не революция, но на слабом железе ощутимо.

Короче, если у вас в игре постоянно висит куча сердец (например, от зелий или модов на RPG-классы), мод реально помогал. Для PvP-серверов с кучей эффектов - вообще must-have был в своё время.

Совместимость

Seaborgium работал со всеми популярными оптимизационными модами:

  • Sodium / Rubidium - рендеринг
  • Lithium / Canary - игровая логика
  • Starlight - освещение
  • и другие

Известных несовместимостей практически не было. Единственное исключение - моды, меняющие графический API (типа Vulkan Mod). С ними Seaborgium не дружил.

Важный нюанс: проблема с Iris на 1.19.4

Для версии Minecraft 1.19.4 есть проблема. Iris Shaders (шейдеры Ирис) сделали breaking change, из-за чего Seaborgium перестал работать.

Если вы разработчик и хотите починить совместимость на 1.19.4, нужно сделать следующее: в файле MixinPipelineManager заменить net.coderbot.iris.shaderpack.DimensionId на net.coderbot.iris.shaderpack.materialmap.NamespacedId. Плюс обновить зависимости.

Обычным игрокам это неактуально - проще обновить Sodium, который уже включает эту оптимизацию.

Стоит ли качать сейчас

Коротко - нет. Если у вас свежий Sodium, оптимизация уже встроена. Seaborgium имеет смысл только на старых версиях Minecraft (до 1.19.4) или если вы по какой-то причине не используете Sodium.

Но как пример грамотной низкоуровневой оптимизации - мод показателен. Разработчик нашёл узкое место в рендеринге HUD и элегантно его закрыл простым кэшированием. Без тонны кода, без переписывания движка - просто закэшировал то, что и так не менялось.

Партнёрский материал

Как поиграть с друзьями с модом Seaborgium?

Мод Seaborgium куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода Seaborgium будет готов за пару минут - BungeeHost сделает всё за вас.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.19.x1.18.x

Платформы

Поддерживаемые окружения

Клиент

Ссылки

Детали

Лицензия:
Опубликован:3 года назад
Обновлён:3 года назад
Главная