Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bad performance of ix components in angular 18.2 #1543

Open
2 tasks done
sire987 opened this issue Oct 28, 2024 · 2 comments
Open
2 tasks done

bad performance of ix components in angular 18.2 #1543

sire987 opened this issue Oct 28, 2024 · 2 comments
Labels
triage We discuss this topic in our internal weekly

Comments

@sire987
Copy link

sire987 commented Oct 28, 2024

Prerequisites

  • I have read the Contributing Guidelines.
  • I have not leaked any internal/restricted information like screenshots, videos, code snippets, links etc.

What happened?

Unfortunately, we notice poor performance when we need to instantiate hundreds of ix elements in a view.

This problem applies to several ix-components. In particular, the ix-button, ix-icon and ix-icon-button components are too slow to be used en masse. The biggest problem is that the fps rate is close to zero, giving the user a poor experience when using the app.

As you can see in the demo below, the ix-button is significantly slower than the “normal” HTML button. In the real application, the performance when using the ix-button is more than 10 times worse compared to the HTML button.

What type of frontend framework are you seeing the problem on?

Angular

Which version of iX do you use?

v2.5.0

Code to produce this issue.

https://stackblitz.com/edit/j8h8x4-cttvdx
@sire987 sire987 added the triage We discuss this topic in our internal weekly label Oct 28, 2024
@danielleroux
Copy link
Collaborator

Can you please add more insights to the topic e.g Browser version, Installed addons (browser addons e.g developer console addons) can create sometimes are strange behaviour.
I tested your stackblitz here is the recording.

Screen.Recording.2024-10-28.at.17.19.30.mov

@sire987
Copy link
Author

sire987 commented Oct 29, 2024

Browser version: Google Chrome Version 130.0.6723.70
DevTools: Chrome 130, Angular DevTools 1.0.18

As you can see in your screencast, the initial loading time (after the click) is particularly slower with the ix elements. The greater the number of elements, the clearer this effect becomes.

The deterioration in performance becomes even more pronounced if you switch the compiler from Webpack to Esbuild. (see screencast)
Animation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage We discuss this topic in our internal weekly
Projects
None yet
Development

No branches or pull requests

2 participants