Back to mods
Threads project artwork

CurseForge · Minecraft mod

Threads

Performance tweaking mod that allows to change priority of running game threads.

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Threads release should I use?

Updated 20 days ago
Latest stable file Threads-1.4-26.3.jar
Game version 26.3
Loader Fabric

Threads-1.4-26.3.jar targets 26.3 with Fabric. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.

Where it goes

Is Threads required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release Fabric
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source does not explicitly classify this release as client-only or server-only.

What else does Threads-1.4-26.3.jar need?

Threads-1.4-26.3.jar. Change the file and its required mods may change too.

No extra mods listed for this file

This file does not list any required mods. Do not add a library just because a different file uses it.

This file does not list any required or optional mods.

Before you install it

Add Threads without breaking your instance.

Built for Threads-1.4-26.3.jar. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use Threads-1.4-26.3.jar. It targets 26.3 with Fabric; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside Threads-1.4-26.3.jar. It opens that exact file at the source.

About this project

What does Threads add?

Default priority values for Render and Server threads depends on the amount of CPU threads you have, specifically more than 4 by Mojang rules. If CPU have more than 4 threads then Render Thread have priority of 10 and Server Thread of 8. Otherwise, thread priority is 5, which is default value for every thread by Java rules. This is a bad thing to have, because Java Virtual Machine does not prioritize game tasks, which is most expensive part of Minecraft process. For example, this may cause lag spikes during world generation on bad CPU. This mod allows to take control of those values by editing config file.

Higher priority for Render Thread - higher FPS and frame stability. Higher priority for Server Thread - more stable tick rate with less delays. But that doesn't mean that you can just set everything at 10. It depends on the problem: if you have low TPS you need to lower render and sound engine threads and increase server thread priority. If you have low frames and spikes you need to lower server and sound engine threads and increase render thread. Additionally there some other threads is running in background with unnecessary priority that can interrupt main game. You can use 'Every other thread' config option to set priority for those. If set to 1 is a good test if performance issues is in thread priorities and usually greatly increases performance on weak PC.

Config menu that can be accessed through main menu, pause screen or pressing F6 (by default) while in-game.

Sliders and buttons have tooltips with useful info. You can see current priority of three main threads in the F3 menu by enabling 'threads' debug entry.

For versions before 1.2

To open config file, run /threads openconfig command.

To apply the changes run /threads reload command or rejoin the world.

threads.json

{
    "renderThreadPriority": 1-10, // Default 5 or 10 if CPU thread count > 4
    "serverThreadPriority": 1-10, // Default 5 or 8 if CPU thread count > 4
    "soundEngineThreadPriority": 1-10, // Default 5
    "everyOtherThreadPriority": 0-10, // Default 0
    "threadBlacklist": [],
    "debug": false // If true logs info about actions with each thread.
}

Legacy config for 1.20.1 Forge version.

Configuration will be applied after world is loaded or config file is changed while world is open.

threads-client.toml

render_thread = Range 1-10. Default is 5 or 10 if cpu thread count > 4.
server_thread = Range 1-10. Default is 5 or 8 if cpu thread count > 4.
sound_engine_thread = Range 1-10. Default is 5.

Default is 0, which means do nothing.
every_other_thread = Range 0-10.
thread_name_blacklist = ["Thread-3"]

Project description from CurseForge.

Pick your setup

Threads by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

15 available setups

Showing the newest 12 of 15 game versions. Older files are in the list below.

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

Threads versions and loaders

11 of 11 releases match

Looking for an older file? The official CurseForge project page is in Resources.