-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Merge main
into net9.0
#24341
Merged
Merged
Merge main
into net9.0
#24341
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Fix cake scripts to work locally * - fix for windows * - cleanup device retrieval * - fix processSettings.RedirectedStandardOutputHandler * Add build tasks
Context: #23991 Context: https://github.com/chabiss/periodictable In the above sample, a lot of time is spent in: 921.46ms (4.3%) mono!Android.Graphics.Paint.Cap.get_Butt() 872.40ms (4.1%) mono!Android.Graphics.Paint.Join.get_Miter() This exposes a performance issue with `Java.Lang.Enum` values: * `java.lang.Enum` in Java are objects (not `int` like C#) * When accessing an enum value, Java returns an object we have to wrap in a C# object. * .NET for Android has to do bookkeeping around this, lookup in a hash table, etc. To avoid this, we can store the `Join` and `Cap` values in a static field and avoid calling into Java. This approach is already working in .NET MAUI for `ImageView.ScaleType`: https://github.com/dotnet/maui/blob/9361f90a5d9eaf922432b36906ff18f6ccb2f52f/src/Core/src/Platform/Android/AspectExtensions.cs#L7-L10 After this change, the time spent is completely gone: 2.41ms (0.02%) mono.android!Android.Graphics.Paint.Join.get_Miter() I can't find the same call for (the unfortunately named) `get_Butt()` at all. In the future, we might consider changing the C# binding for `Java.Lang.Enum` to "auto-cache" values in C# static fields. Not sure if there is enough time left for it to happen in .NET 9, though.
Context: #23991 Context: https://github.com/chabiss/periodictable In the above sample in `Debug`-mode, a lot of time is spent in: 1.20s (3.3%) microsoft.maui!Microsoft.Maui.Platform.StrokeExtensions.UpdateBorderStroke(Android.Views.View,Microsoft.Maui.IBorderStroke) 0.42s (1.2%) microsoft.maui!Microsoft.Maui.Platform.StrokeExtensions.UpdateMauiDrawable(Android.Views.View,Microsoft.Maui.IBorderStroke) If you drill-in, a lot of the time is spent in, `View.Background`, which is called a lot overall as well: 627.20ms (1.7%) mono.android!Android.Views.View.get_Background() Reviewing `StrokeExtensions`, it does call `View.Background` over and over, many times. To fix this: * Call `View.Background` once and store it in a `MauiDrawable?` local variable. * Subsequent calls to methods in `StrokeExtensions` pass the local variable along. `View.Background` is now called many fewer times and the result is: 1.07s (2.90%) microsoft.maui!Microsoft.Maui.Platform.StrokeExtensions.UpdateBorderStroke(Android.Views.View,Microsoft.Maui.IBorderStroke) 0.34s (0.94%) microsoft.maui!Microsoft.Maui.Platform.StrokeExtensions.UpdateMauiDrawable(Android.Views.View,Microsoft.Maui.IBorderStroke,Microsoft.Maui.Graphics.MauiDrawable&) 0.33s (0.91%) mono.android!Android.Views.View.get_Background() This should improve the performance of controls that use `MauiDrawable` like `<Border/>` on Android. For the future, we're looking into other ways to improve Debug-mode performance at: * dotnet/runtime#106491
* Fix 17865 * Added device test * Updated test * Fixup use of event * Update MauiProgram.cs * Fix UI test --------- Co-authored-by: Mike Corsaro <[email protected]> Co-authored-by: Mike Corsaro <[email protected]> Co-authored-by: Gerald Versluis <[email protected]>
### Description of Change Try and make scroll-to test more solid. See: https://dev.azure.com/xamarin/public/_build/results?buildId=121721&view=ms.vss-test-web.build-test-results-tab&runId=3045160&resultId=100014&paneView=debug
…xception - fix (#21714) * [Android] Added null checks (#21437) * Updated test * Updated test * Update Issue21513.cs --------- Co-authored-by: Javier Suárez <[email protected]>
fixes an unreported issue
* Optimize WrapperView * CS * Bugfix * Bugfix (2) * Remove SuppressFinalize
mattleibow
requested review from
rmarinho and
PureWeen
and removed request for
a team,
rmarinho and
jsuarezruiz
August 20, 2024 20:43
PureWeen
previously approved these changes
Aug 20, 2024
|
# Conflicts: # eng/pipelines/common/ui-tests-build-sample.yml # src/Core/src/Core.csproj
mattleibow
force-pushed
the
merge-main-net9
branch
from
August 21, 2024 17:23
ac463fa
to
f129f6e
Compare
PureWeen
approved these changes
Aug 21, 2024
samhouts
added
the
fixed-in-net9.0-nightly
This may be available in a nightly release!
label
Aug 27, 2024
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of Change
Update the net9.0 branch with all the latest things.