Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
Francium

Francium

Replace traditional Random with ThreadLocalRandom in minecraft codes for better performance and higher fps.

21.9k
22
Optimization
AboutChangelogVersions

Francium

Francium is a Forge optimization mod that replaces some Random fields with ThreadLocalRandom for better performance and higher fps.

This is inspired by Faster Random (But Francium doesn't change world generation or other stuff that makes huge difference from vanilla. The only difference so far is the speed of squid tentacle movement speed initialization lol). However, Francium's implementation is wider and more rooted.

ThreadLocalRandom has a property: its setSeed method is not a supported operation, Thus, as long as a Random field is not calling setSeed, Francium can replace it with ThreadLocalRandom.

Client side: Optional

Server side: Optional

Benchmark Info

The below benchmark is outdated due to the security improvement in 1.0.0.
Details: In Francium 1.0.0, To completely avoid the UnsupportedOperationException crash (and this is the only crash Francium may cause) of `ThreadLocalRandom#setSeed`, I did some security improvement so that if a Random field is setSeed, next it will no longer call ThreadLocalRandom. 
For players, this security brings down performance improvement for a little bit, in my test my fps improvement dropped to 100 from 150.

Minecraft version: 1.16.5

Java version: Azul Zulu Java 17 (highly recommended, check out ModernFix's wiki!)

Weather: None

Difficulty: Peaceful

Seed: -963323667424106092

Position: -139.746 102.0 -658.997

ModList: img.png

Entities and item entities have been cleared by Cuneiform commands /killall and /killitems

You can see my play time is 4:29 below, and in these 269 seconds, I have never moved or change my mouse too much (almost completely still).

This has been tested for three times, and the images below are from the third test.

With Francium Installed

Average FPS: 780 ~ 800 img.png

Without Francium Installed

Average FPS: 630 ~ 650 img.png

1.19.2 ~ 1.20.1?

Not currently.

In 1.19.2+, Mojang overhauled random number generation from Java's own Random to a custom RandomSource class.

So if Francium is to support higher versions, it may only be able to undergo simple replacements (Also, the new effects from this replacement is not at all guaranteed to be consistent with vanilla, which is what Francium didn't want.) in specific classes much like Faster Random, and may not be conducive to fundamental reforms like it be in 1.16.5 and 1.18.2, optimization will also be much less effective.

Misc

Join Our discord: https://discord.gg/g8q3UHTpCP!

image

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Compatibility

Minecraft: Java Edition

1.18.2
1.16.5

Platforms

Forge

Supported environments

Client-side
Server-side
Client and server (optional)

Links

Report issues View source Join Discord server
Donate on Ko-fi

Creators

Kasualix
Kasualix Owner
AnOpenSauceDev
AnOpenSauceDev Inspiration Owner

Details

Licensed LGPL-3.0-or-later
Published last year
Updated last year

Modrinth is open source.

main@a0bd011

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.