Radzen Treeview - Limits

What are the limits on the Radzen Treeview in terms of node count? Using the same code found on Blazor Tree Component - Tri-state Checkboxes | Free UI Components by Radzen, I am able to get it to work without issues. But once I connect to my data of over 12,000+ items, issues start happening with the tracking of the selected checkboxes.

The tree loads with all the nodes, but once a checkbox is selected, there is a looooong pause before I can make another selection. To the point that the browser message stating no response pops up (and I have to tell it to wait)

Once the page unfreezes after some time, then I can continue making checkbox changes without issue. Its always right at the beginning.

If I remove the code that keeps track of the selections, the checkbox changes work as expected. I tried changing the the way the checked boxes are captured, but it gives the same problem. Seems like whenever I do something with captured checkboxes, there is a long pause at first.

IEnumerable<object> CheckedValues
        get => checkedValues;
            checkedValues = value;
            if (checkedValues != null)
                console.Log($"CheckedValues Changed {string.Join(Environment.NewLine, value.Select(GetText))}");

I'm also experiencing something similar with a checkboxlist...

I get a random time delay between click and update on the first check only. Any subsequent checks happen instantaneously. The delay can be over a second or more at times.

The delay shown happens when I click at 06:21 (when the pointer highlight expands) in the video.

Can you try this: Radzen scheduler takes time to load - #9 by korchev

Same behaviour with "DropDown multiple selection" when adding roles to users. First check is very long, several seconds although there are few roles in application.

I attempted the fix recommended by @korchev and it resolved my issue.

Unfortunately our app is still using .NET 6 and an error comes up stating that "Feature 'Collection Expressions'" is not available and must use language version 12 (.NET 8)

Other than upgrading the entire app to .NET 8, any other suggestions?

You can just use

static readonly HashSet<Type> empty = new HashSet<Type();