Open Closed

Guidance required on Blazor WASM performance issues #3643


0
sljsbelanger created
  • ABP Framework version: v5.3
  • UI type: Blazor
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

Hello,

Our team is currently developing web applications using Blazor WASM and has been struggling with the performance of their initial loading, especially on mobiles (time to interactive above fifty seconds), which our applications will mostly be used on.

We have tried compression using gzip and caching of some API calls with limited success.

Would you have other solutions to recommend for initial loading performance improvements, particularly on mobiles?

Otherwise, do you have a roadmap for performance improvements on your side? If so, what does it look like in terms of schedule and scope?

Finally, please do let us know if Blazor WASM is not the right choice for us and another framework would be better suited.

Thank you.


3 Answer(s)
  • 1
    liangshiwei created
    Support Team

    Hi,

    I'm sorry about that, yes, the initial loading performance is a problem, we are always trying to improve performance.

    But it actually not an ABP problem, this is a limitation of Blazor WebAssembly application.

    If you really care the loading performance, I recommend you use Blazor-Server.

    Download size is significantly smaller than a Blazor WebAssembly app, and the app loads much faster.

    See: https://docs.microsoft.com/en-us/aspnet/core/blazor/hosting-models?view=aspnetcore-6.0

  • 0
    Sturla created

    Hi, after complaining about this slow loding for almosst 1 year in development we figured out what was wrong and it is just that abp doesnt use compressed dlls.

    That means in my case that the app needs to load ove 100 MB each first time (then it caches small part).

    It is hopefully fixed in 6.0. So please try it out. See https://github.com/abpframework/abp/issues/13771 (note that there is still some issue with “dead time” doing nothing and that will hopefully be looked at in version 7.0.

    Here is my latest issur on the matter https://github.com/abpframework/abp/issues/13114 where I point to Steve Sanders WASM example that is just blazing fast. Note that his example applies “a combination of static pre-rendering and max trimming settings.” so you might want to try that out also since the abp fix doesnt contain any of that stuff.

    I’m not sure but I really dont think abp.io has any real performace tests (regression or otherwise) or done extensive search for bottle necks, at least when it comes to login and loading Blazor WASM. Hopefully they will put some effort into it in version 7.0.

    Hope this helps you out. Please let me know if it did because Im counting on version 6 to fix my issue.

  • 0
    Sturla created

    And then this article just came out https://community.abp.io/posts/prerendering-blazor-wasm-application-with-abp-6.x-2v8590g3