[1.12.2] Major performance issue with the Event Subscriber. LivingEvent LivingUpdateEvent
ProsperCraft opened this issue ยท 2 comments
I have been working to troubleshoot why our server drops to half speed when we have 20 players on our high end hardware, and I have been reporting what I have been finding.
Today I noticed that The Better Questing Event Subscriber is taking 13.17% of the entire server, more then any other Event subcriber.
Is there a way to disable the Living Event subscriber, or could it be toned down in the next update to only check so often?
Find attached sampler NPS file for viewing in VisualVM -
betterquesting.zip
BetterQuesting-3.5.252
Forge 2655
Modpack - https://minecraft.curseforge.com/projects/towncraft
sigh
Sounds about right. That's BQ2 legacy code for you. Currently as it stands, all quests run their state checks through that event so it scales with the amount of quests you have. More specifically you can think of it like this:
unlocked_quests * tasks * players_online
and this is not even including the stupid amounts of redundant packet data being thrown around whenever one of them updates.
I'm fully aware of how bad this implemented idea is now but like a lot of the horrible ideas I had back then, it'll take some time to rip out the code and replace it. I need to write my own per-player quest scheduler to replace the event and balance server load. I'll be dedicating an entire update to this at a later date.
This is still an issue in my new pack I am making, actually worse because we have a lot more entities.
https://minecraft.curseforge.com/projects/ancient-towncraft/
Can you for the time being make a config option to remove entity checks? we don't use them.