dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
22.04k stars 1.73k forks source link

Performance issue while converting the datatemplate into view #17572

Open saiganesh-sakthivel opened 1 year ago

saiganesh-sakthivel commented 1 year ago

Description

In our custom control, we convert the DataTemplate into a view and add it to the UI. However, we have noticed that the conversion of complex DataTemplates takes more time to render the UI compared to simple ones on Windows and MacOS. In Android and iOS the performance remains high regardless of whether the DataTemplate is simple or complex. We achieve this by utilizing the CreateContent() method for template conversion.

Steps to Reproduce

  1. Run the Sample.
  2. Click the button in the view.
  3. It took more time to render the UI (which a custom view data template)

Link to public reproduction project repository

MauiApp1.zip

Version with bug

7.0.92

Is this a regression from previous behavior?

No, this is something new

Last version that worked well

Unknown/Other

Affected platforms

iOS, Android, Windows, macOS

Affected platform versions

iOS 16, windows, android 11 and MacOS

Did you find any workaround?

no

Relevant log output

No response

ghost commented 1 year ago

We've added this issue to our backlog, and we will work to address it as time and resources allow. If you have any additional information or questions about this issue, please leave a comment. For additional info about issue management, please read our Triage Process.

saiganesh-sakthivel commented 10 months ago

Hi @samhouts ,

Any update?

BaltoAF commented 10 months ago

Same problem here with Android 13.

sisaacks commented 3 months ago

Any updates on this? We are almost at a year now....

sisaacks commented 2 months ago

any updates on this?

VidyalakshmiMani commented 4 weeks ago

Any update on this?

MartyIX commented 4 weeks ago

This issue is in the backlog milestone. It basically means that nobody is assigned to work on this and there is no progress (AFAIK). Issues that are currently being worked on are here https://github.com/orgs/dotnet/projects/194/views/39.

If anyone is willing to spend more time on this, then https://github.com/dotnet/maui/wiki/Profiling-.NET-MAUI-Apps#windows--dotnet-trace is a good place to learn how to create a speedscope which might shed more light on what exactly is the main contributor to the slowness here.