What are you searching for?

AsyncParticles

AsyncParticles

Async particle tick/rendering

download 3.0M Downloads · favorite 380 Followers · Updated 3 months ago
Fabric Forge Game-mechanics Neoforge Optimization 1.20.1 1.21 1.21.1 1.21.4 1.21.5 +5 more

Versions

inventory_2
AsyncParticles 2.4.0-beta.3

2.4.0-beta.3 · 3 months ago · 1.24 MB

Fabric Forge Neoforge 1.20.1
inventory_2
AsyncParticles 3.4.0-beta.1

3.4.0-beta.1 · 3 months ago · 1.22 MB

Fabric Neoforge 1.21 1.21.1
inventory_2
AsyncParticles 2.4.0-beta.2

2.4.0-beta.2 · 3 months ago · 1.24 MB

Fabric Forge Neoforge 1.20.1
inventory_2
AsyncParticles 2.4.0-beta.1

2.4.0-beta.1 · 3 months ago · 1.24 MB

Fabric Forge Neoforge 1.20.1
inventory_2
AsyncParticles 6.3.0

6.3.0 · 3 months ago · 821.78 KB

Release download
Fabric Neoforge 1.21.6 1.21.7 1.21.8

About

AsyncParticles

Configuration

Settings can be accessed via the ModList/ModMenu.

Troubleshooting

Crash with LodestoneLib

  • Set buffer_particles = false in lodestone-client.toml.

Crashes related to ClassInstanceMultiMap or Level.getEntities(...)

  • Please share the logs or crash report on the GitHub issue.
  • As a workaround, enable the option:
    MixinMake 'ClassInstanceMultiMap' Thread-Safe

Crashes related to Level.getBlockEntity(...)

  • Please share the logs or crash report on the GitHub issue.
  • As a workaround, enable the option:
    MixinMake 'LevelChunk#blockEntities' Thread-Safe

ConcurrentModificationException

The Most Common Cause

This exception typically occurs when particle rendering and ticking concurrently access the same thread-unsafe container.

How to Fix

Note: This enables fine-grained locking for specific particle types, allowing safe asynchronous execution between the tick() and render() methods.

Other Potential Causes

Starting in vX.4.0, the default particle rendering mode has been changed to SYNCHRONOUSLY to prevent rare ConcurrentModificationExceptions when used with mods that access external thread-unsafe containers (e.g., global maps or lists) during particle rendering.

  • If you're using an older version (≤ vX.3.0), consider manually setting the mode to SYNCHRONOUSLY in the config screen for improved stability.
  • For modpack authors: If you’d like to test whether FASTEST provides a noticeable FPS boost in your setup, you can switch to it in the config screen—but use with caution, as it may trigger crashes with incompatible mods.

Need Help?

If you’re unsure how to identify or fix the issue, please open a GitHub Issue or start a Discussion.

  • In version x.4.0, changed the default particle rendering mode to SYNCHRONOUSLY to avoid rare and confusing ConcurrentModificationExceptions when used with certain mods.
    • If you're still using an older version (≤ x.3.0), you may want to manually set it to SYNCHRONOUSLY in the config screen.
    • If you're a modpack author or want to test whether a different rendering mode (e.g., ASYNCHRONOUSLY) provides a noticeable FPS boost in your modpack, you can manually select another enum value in the config screen—use with caution.

Features

  • Flexible mixin options.
  • Minecraft
    • Particle culling.
    • Async particle tick&rendering(buffer filling).
    • Async particle light cache.
    • Delayed texture tick by one frame to reduce client tick duration.
    • Async rain&snow tick&rendering(buffer filling). (currently only supported in MC1.21.5+)
  • Valkyrien Skies/Create
    • Particles can now collide with ships/contraptions.
  • Valkyrien Skies/Create + Simple Weather/Pretty Rain/Particle Rain
    • Modded weather particles can now collide with ships/contraptions.
  • Pretty Rain/Particle Rain/Effectual/Particular/Simple Weather
    • Async particle gen.

Mods Recommended

  • ModernFix
  • Sodium/Embeddium
  • Flerovium
  • Startlight/ScalableLux

Mod Compatability

✅ Compatible (Proactively)

  • Sodium/Embeddium
  • Flerovium
  • Iris/Oculus
  • Create
  • Valkyrien Skies
  • Particle Rain/Pretty Rain
  • Simple Weather
  • Effectual
  • Effective
  • Particular
  • Particle Core
    • Will disable most of ParticleCore's optimizations while retaining its other functionalities.
      (Due to incompatibilities with AsyncParticles' asynchronous optimizations.)
  • ...

❌ Incompatible

  • OptiFine
  • MadParticle

Credits

open_in_new View on Modrinth
Compatibility
Client: Required Server: Unsupported
gavel LGPL-3.0-only

Conversation

What are your thoughts?

Related projects

Optimization
Sodium
Sodium

by jellysquid3

The fastest and most compatible rendering optimization mod for Minecraft. Now available for both NeoForge and Fabric!

download 118.2M
favorite 32,788
Decoration Optimization
Iris Shaders
Iris Shaders

by coderbot

A modern shader pack loader for Minecraft intended to be compatible with existing OptiFine shader packs

download 90.5M
favorite 23,773
Optimization Utility
FerriteCore
FerriteCore

by malte0811

Memory usage optimizations

download 84.3M
favorite 12,712
Optimization
Entity Culling
Entity Culling

by tr7zw

Using async path-tracing to hide Block-/Entities that are not visible

download 84.0M
favorite 13,759
lock Cookie consent

SkinMC uses cookies to provide functionality and features.