Fast TPS
Guichaguri opened this issue ยท 5 comments
The Fast TPS improvement would calculate the time used by each Entity and TileEntity and control their tick speed from there.
Entities and TileEntities that are optimized by mod devs can keep ticking 20 times a second. But slower ones will be slowed down.
The objective with this improvement is to keep 20 TPS with the maximum amount of things working at the same time.
Even though some Entities or TileEntities will run slower, there will be no lag in priority tasks, such as block breaking/placing.
This is the update/replacement for TickDynamic. A mod by wildex999 which does exactly what I've described. This is a total recode of his idea, implementing my own algorithm and my own hooks which should be less hacky and more stable.
I'm loving the idea. Although I have a question, would it hook Minecrafts internal server, aka, how would it handle Single/Multiplayer.
It's a server-side improvement. It would only affect servers and single-player.
Anecdotally, in my previous servers the lion's share of tick time inflation with a large view-distance has been passive animals (since as you increase view distance the number of critters in range naturally goes up quite drastically). Disturbingly, animal AI is active even when the animal is too far from any player to be rendered!
I've long wanted a way to simply pause the AI of animals loaded but distant from the player in order to allow longer view distances without making the tick time excessively long.
This idea sounds like it might accomplish some similar effects, so I'd be very interested to see how it impacts my use cases.
@esotericist The solution for this is another idea I have for the mod: Create a "real view distance" and a "visual view distance". The visual one wouldn't tick chunks, it would just be loaded to send to players. The "real view distance" is the current view distance in the game, where blocks and entities in those chunks tick.
I would LOVE that dearly. The machines of 2/3rds of our users are able to render a heck of a lot farther than the server can reliably process ticks out to a given distance.
Is this something you think you can realistically do? I'm under the impression a lot of mods have assumptions that if something is in view, it's active. Would the 'visual' distance chunks need to omit tile entities?