AsyncParticles — модификация, оптимизирующая обновление и отрисовку частиц в Minecraft с использованием асинхронных процессов.
Аппаратное ускорение GPU
- Перенос вычислений трансформаций вершин частиц на видеокарту снижает нагрузку на процессор и уменьшает объем данных, передаваемых на GPU, что повышает производительность.
- Этот метод заменяет прежний способ асинхронного извлечения вершин частиц, который теперь отключен по умолчанию для лучшей совместимости.
- Проверено на 1331 костре (более 16 000 частиц) на ноутбуке Ultra5 225H с RTX 5060 при разрешении 1080p.
Интеграция с Create
- Контрапции Create теперь могут блокировать стандартные погодные эффекты (начиная с версии 20.1.0a).
- Частицы могут взаимодействовать с контрапциями, сталкиваясь с ними.
Пример:
Прочие функции
- Гибкие настройки через систему Mixin.
- В Minecraft реализованы:
- отсечение частиц (particle culling);
- асинхронное обновление частиц (async particle tick);
- асинхронный кеш освещения частиц;
- отсрочка обновления текстур на один кадр для снижения нагрузки на клиент.
Установка и настройка
Настройки доступны через меню ModList или ModMenu.
Рекомендации по совместимости и устранению проблем
- С модами Polytone и Subtle Effects рекомендуется отключить опцию
Async Animate Tick. - Для корректной работы с Bosses Rise включите
GPU Only Async Particle Tick. - При использовании BadOptimizations установите в файле
badoptimizations.txtпараметрenable_particle_manager_optimization: false(исправлено в версиях 20.1.1.0 и выше). - Если возникают сбои с C2ME, в файле
c2me.tomlустановитеenforceSafeWorldRandomAccess = "false"(только при наличии сбоев). - При сбоях с LodestoneLib в
lodestone-client.tomlустановитеbuffer_particles = false. - Для устранения сбоев, связанных с
ClassInstanceMultiMapилиLevel.getEntities(...), рекомендуется включить в настройках Mixin опциюMake 'ClassInstanceMultiMap' Thread-Safe. - При сбоях, связанных с
Level.getBlockEntity(...), включите опциюMake 'LevelChunk#blockEntities' Thread-Safeв настройках Mixin. - Частая причина ошибки ConcurrentModificationException — одновременный доступ к небезопасным для потоков контейнерам при обновлении и отрисовке частиц.
- Для решения добавьте полные имена классов частиц в списки
particle$lockProviderиparticle$lockRequiredв настройках Mixin, что обеспечит блокировку и безопасное асинхронное выполнение методовtick()иrender(). - Начиная с версии x.4.0, режим отрисовки частиц по умолчанию изменён на синхронный (
SYNCHRONOUSLY) для предотвращения редких ошибок ConcurrentModificationException с некоторыми модами. - Если используется версия ниже x.4.0, рекомендуется вручную установить режим
SYNCHRONOUSLYв настройках для стабильности. - Авторам сборок предоставлена возможность экспериментировать с режимом
FASTESTдля повышения FPS, но с осторожностью из-за возможных конфликтов.
- Для решения добавьте полные имена классов частиц в списки
Подтверждённая совместимость
- Sodium/Embeddium
- Flerovium
- Iris/Oculus
- Create и Create: Aeronautics
- Valkyrien Skies
- Particle Rain
- Simple Weather
- Particle Core (версии 20.1 и выше)
Несовместимость
- OptiFine
- MadParticle
Рекомендуемые моды для совместного использования
- ModernFix
- Sodium/Embeddium
- Flerovium
- Startlight/ScalableLux








