Most lag from org.spongepowered.common.event.tracking.TrackingUtil.tickTileEntity()


#1

As the title says, after profiling my server thread, most of the delay in tps is do to this.
Is there any way I can change the update frequency on tracking? Or any other way to help this besides deleting tile entities?


#2

I believe sponge has a tileentity-activation section in the config where you can adjust activation ranges, which in turn should tick them less.

    # Controls block range and tick rate of tileentities.
    # Use with caution as this can break intended functionality.
    tileentity-activation=false

and then further down

    tileentity-activation {
    # If enabled, newly discovered tileentities will be added to this config with default settings.
    auto-populate=false
    # Default activation block range used for all tileentities unless overidden.
    default-block-range=64
    # Default tick rate used for all tileentities unless overidden.
    default-tick-rate=1
    # Per-mod overrides. Refer to the minecraft default mod for example.
    mods {}
}

Of course I would use a test server to test for issues first, as even the configs warns of issues.


#3

Ahh thank you.
Now I’m trying to reload my sponge config with /sponge reload but it says At least one target flag must be specified.
I get this message a lot with sponge and I don’t know what to do about it.


#4

It’s asking you to define the config you’d like to reload. The global config would be sponge reload -g.


#5

Thank you! There’s no tab complete so I never could figure that out


#6

Sometimes you have to type two spaces and then try <TAB>.


#7

literally anything that ticks will be passed through that, says nothing about performance at all
@DrZoddiak suggestion is completely irrelevant to this

Note that all entity ticks on the server get funneled through org.spongepowered.common.event.tracking.TrackingUtil.tickEntity(). This causes the method to be shown as consuming a large portion of the tick time, but in reality, nearly all of the time is spent in the actual tick methods that it wraps.

https://github.com/SpongePowered/SpongeForge/issues/1213#issuecomment-274640181
https://github.com/SpongePowered/SpongeForge/issues/1378#issuecomment-288509731


#8

After deeper investigation, it seems to be the mod BetterQuesting causing it.