Performance issues
WarnDa opened this issue ยท 31 comments
Confirmation
- I have read the FAQ.
- I have tested the latest development build of Holographic Displays and the bug is still present.
- I have updated Spigot (and ProtocolLib if installed) to the latest release for my particular Minecraft version.
- I made sure the bug hasn't already been reported on the issue tracker.
Description
The plugin consumes a lot of server tick, a part is from placeholders
How to reproduce
Run the plugin with some holograms and players
Add placeholders on holograms
Do a spark.
Server version
git-Airplane-12 1.16.5-R0.1-SNAPSHOT
Holographic Displays version
3.0.0-SNAPSHORT from 2 december
ProtocolLib version (if installed)
4.7.0
Installed plugins that allow players to join with multiple Minecraft versions
ViaVersion
Additional information
The spark :
https://spark.lucko.me/lN6EveLIbT
Please always post links of the spark reports and the exact version you are using. It's difficult otherwise to pinpoint the cause of lag.
Here is the spark : https://spark.lucko.me/eMhCtYcL0P
And I'm using this version (so your latest 'optimisation' dev build
Please always post links of the spark reports and the exact version you are using. It's difficult otherwise to pinpoint the cause of lag.
I agree, I have a problem too. Because of this, it is not possible to update the server to 1.18 (This will kill the server just) ๐ข
I believe this could be fixed by allowing an update placeholder like {slow} etc that updates the placeholder at a custom time (as not every placeholder needs updating constantly)
I can confirm this is SUPER laggy https://gyazo.com/650474f8d80c18bf103e878b1b3c6b6c
Another spark https://spark.lucko.me/649KcasLRw
I have looked into it. Just need a few plugins to fix their dependencies for it before switching
Could do but would rather not. If holographci displays just let us add a refresh rate for different holos with a config option, it would be ideal
I found and fixed some sources of lag (also PlaceholderAPI itself, but I cannot optimize it. I can only slow down the refresh rate). Please try the latest dev build, and if you can send another Spark report, I don't have an active server to make real benchmarks.
I'll do a spark tomorrow.
Currently using Paul's custom version and it works pretty fine !
https://github.com/TECHNOVE/HolographicDisplays
That's an old version. Most of the work is done by Bukkit itself to manage entities, so you don't see the actual workload.
@filoghost why not do the change in #540 because my version doesnt really lag at all and I have quite intense placeholders
Format is {papi: placeholder}
I got an issue with this :/ One of my placeholders get an } inside :
papi:progress_percentage_{storestats_goal_progress_21}_m:100}
So it doesn't work for me
You havent put a { before papi. Do this:
{papi:
if it doesnt work then the placeholder needs ro be changed to remove those {}. Thats a really stupid placeholder
Format is {papi: placeholder}
I got an issue with this :/ One of my placeholders get an } inside :
papi:progress_percentage_{storestats_goal_progress_21}_m:100}
So it doesn't work for me
You havent put a { before papi. Do this:
{papi:
if it doesnt work then the placeholder needs ro be changed to remove those {}. Thats a really stupid placeholder
I di, just forgot to write it, but it doesn't work
Where is the settings to edit placeholders refresh time ?
Because this is what is heavy, everytime placeholder is refreshed, it needs to resend all the packets to players.
I forked a version where you can edit the refresh rates of every individual placeholder. Hopefully its added in a dev build. Check #540 for what I did because you can just copy it if you fork it too. Took 10 seconds
I forked a version where you can edit the refresh rates of every individual placeholder. Hopefully its added in a dev build. Check #540 for what I did because you can just copy it if you fork it too. Took 10 seconds
I can't event find the settings to modify "global refresh time"
I'll disable placeholders in holograms for now, they are refreshed every second, that's way too much :/
Idk where that setting is coz as I said I forked my own version and added a system where I can change them individually. The code I changed is in the post I tagged if u want to code it
Sorry but, can you please test again with the latest dev build? The report doesn't show the exact cause (only the Java method), so I have to do some guesses.
Still heavy
https://spark.lucko.me/rZmbqhDOwm
Longer spark :
https://spark.lucko.me/GtOf4qbgSq
(Using latest dev build)
Thanks, it is now more detailed. I'll see what I can do, in the previous version this overhead was hidden since the plugin was spawning real entities.