Better Questing

Better Questing

39M Downloads

[1.12.2] Major performance issue with the Event Subscriber. LivingEvent LivingUpdateEvent

ProsperCraft opened this issue ยท 2 comments

commented

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?

2018-04-23_17 22 14

Find attached sampler NPS file for viewing in VisualVM -
betterquesting.zip

BetterQuesting-3.5.252
Forge 2655

Modpack - https://minecraft.curseforge.com/projects/towncraft

commented

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.

commented

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.

2018-09-11_23 38 52