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.03k stars 1.73k forks source link

User Story: As a developer I have an efficient inner loop building .NET MAUI apps #14032

Open davidortinau opened 1 year ago

davidortinau commented 1 year ago

Summary

In .NET 8 we continue to pursue improvements to the reliability of Hot Reload as well as build performance in order to reduce the amount of time between when the developer makes a change and can verify that change in a running app (aka inner loop).

Tasks

shadowfoxish commented 1 year ago

This may only apply to grids (with auto sized rows/columns) and collection views and those sort of template-y components, but in the XAML Live Preview, it might be interesting to trace what bindings or calculations/components are taking the most time relative to the whole for a page load. Could lead to things like "hey, this complicated binding expression is taking a long time to evaluate" or "the scrolling on this page is not smooth/impacted by these sub components the most".

I get a lot of messages in the debug console like "[Choreographer] Skipped 57 frames! The application may be doing too much work on its main thread." and "[View] [ANR Warning]onMeasure time too long" and "[View] [ANR Warning]onLayout time too long". Could be useful to expose that information in a more actionable way.