Holographic Displays

Holographic Displays

3M Downloads

Performance issues

WarnDa opened this issue ยท 31 comments

commented

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

I got only 10 holograms.
Screenshot_199

The spark :
https://spark.lucko.me/lN6EveLIbT

commented

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
image

commented

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.

commented

This still happen on the latest version uploaded on bukkit.
Screenshot_231

commented

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) ๐Ÿ˜ข

commented

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)

commented

Try the plugin: 'Decent Holograms'

commented

I can confirm this is SUPER laggy https://gyazo.com/650474f8d80c18bf103e878b1b3c6b6c

commented
commented

I have looked into it. Just need a few plugins to fix their dependencies for it before switching

commented

You can use 2 plugins :)

commented

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

commented

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.

commented

I'll do a spark tomorrow.

Currently using Paul's custom version and it works pretty fine !
https://github.com/TECHNOVE/HolographicDisplays
image

commented

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.

commented

@filoghost why not do the change in #540 because my version doesnt really lag at all and I have quite intense placeholders

commented

I got only 10 placeholders, currently 20 people only (4 am) and plugin still take almost 2% server tick
image

It's 5x more my top 3 other heavier plugins

commented

image
On your latest dev build placeholders do not work at all

commented

image
On your latest dev build placeholders do not work at all

Format is {papi: placeholder}

commented

image
On your latest dev build placeholders do not work at all

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

commented

image
On your latest dev build placeholders do not work at all

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

commented

image
On your latest dev build placeholders do not work at all

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

commented

The plugin with more players
image

commented

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.

commented

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

commented

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 :/

commented

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

commented

image
Even without ANY placeholders the plugin is really heavy :
I just get basic holograms wirthout anything inside.

commented

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.

commented

Still heavy
image
https://spark.lucko.me/rZmbqhDOwm

Longer spark :
image
https://spark.lucko.me/GtOf4qbgSq

(Using latest dev build)

commented

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.

commented

So here is an update while using this plugin in 1.17.1 and latest dev build :
image