Premium support for our pure JavaScript UI components


Post by nagasain »

nodes.png
nodes.png (1.71 KiB) Viewed 230 times
memory.png
memory.png (30.61 KiB) Viewed 230 times

This is with 50 events, 50 resources and fitWidth = true and scrolling for 5 minutes.


Post by johan.isaksson »

Hi,

Apologies for sloppy reading and looking on my part, I had forgotten the fact that you use vertical mode and did profile in horizontal. Will try it in vertical, hopefully later today

Best regards,
Johan Isaksson

Post by nagasain »

Since we've received multiple customer reports about performance issues, I'd really appreciate your help in investigating potential solutions or workarounds.

I'm happy to collaborate on testing different approaches once we have more details.
Looking forward to your insights.


Post by johan.isaksson »

I have now tried in vertical mode, with the settings you suggested. But I still cannot get it to leak b-released elements. The amount of released elements vary as you scroll, when you are in a crowded area there will be much fewer, when in a sparse area much more. But the sum of released and unreleased event elements should be stable after a first full scroll through.

This is after scrolling a lot up and down, here we are at a very crowded part of the schedule:

Screenshot 2025-01-17 at 10.57.55.png
Screenshot 2025-01-17 at 10.57.55.png (2.44 MiB) Viewed 208 times

As shown in the console, there is only a single released element, and 852 events in view. After scrolling to a sparse area:

Screenshot 2025-01-17 at 11.01.53.png
Screenshot 2025-01-17 at 11.01.53.png (833.08 KiB) Viewed 208 times

There are now a lot of released elements (797) and only a few in view (53). But the sum is the same, nothing leaked.

Are you on the latest version?

Best regards,
Johan Isaksson

Post by nagasain »

We are not exactly on latest; we are using 6.1.3
After the same exercise, try clearing the store, so technically there shouldn't be any b-released nodes, but when you profile it and check detached nodes, you can see in detaches nodes and on browser task manager if you see memory footprint, it is not dropping to base memory even after clearing the data.


Post by johan.isaksson »

By design, b-released nodes are not removed - they will be reused when you load a new dataset.

We could add a threshold, to not keep many released nodes around. Not sure it will help much, but if I add a setting you could experiment with it

Best regards,
Johan Isaksson

Post by nagasain »

Got it, and yes, instead of us removing it manually it would be better if we can limit it through a setting, we can test it. Could you please share the code snippet with us?


Post by johan.isaksson »

Sorry if I was unclear. There is no setting currently, I have to add it. Hopefully I can get it into next patch release

Best regards,
Johan Isaksson

Post by nagasain »

I understand, actually I was able to replicate the issue when .b-released nodes are removed manually, sometimes resource headers are getting blanked out, to refresh UI again, I am calling scheduler.refresh()

For now, since in our case these nodes are piling up, with this node removal change we see improvement in scrolling performance, we are going ahead with our workaround, till we have some way to limit them.


Post by johan.isaksson »

The new setting, called eventReleaseThreshold, will be available in the next release

Best regards,
Johan Isaksson

Post Reply