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

perf(anim): Register only once to the JS animationframe callback #19230

Merged
merged 1 commit into from
Jan 17, 2025

Conversation

jeromelaban
Copy link
Member

PR Type

What kind of change does this PR introduce?

  • Refactoring (no functional changes, no api changes)

What is the new behavior?

Only register once to the native animationframe callback to reduce interop calls.

PR Checklist

Please check if your PR fulfills the following requirements:

Other information

Internal Issue (If applicable):

@github-actions github-actions bot added the platform/wasm 🌐 Categorizes an issue or PR as relevant to the WebAssembly platform label Jan 14, 2025
@unodevops
Copy link
Contributor

🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-19230/index.html

@unodevops
Copy link
Contributor

🤖 Your WebAssembly Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-19230/index.html

@unodevops
Copy link
Contributor

🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-19230/index.html

@unodevops
Copy link
Contributor

🤖 Your WebAssembly Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-19230/index.html

@unodevops
Copy link
Contributor

⚠️⚠️ The build 152045 has failed on Uno.UI - CI.

@unodevops
Copy link
Contributor

🤖 Your WebAssembly Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-19230/index.html

@jeromelaban
Copy link
Member Author

https://github.com/Mergifyio backport release/stable/5.6

Copy link
Contributor

mergify bot commented Jan 15, 2025

backport release/stable/5.6

✅ Backports have been created

@unodevops
Copy link
Contributor

🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-19230/index.html

@jeromelaban
Copy link
Member Author

/azp run

Copy link

Azure Pipelines successfully started running 2 pipeline(s).

@unodevops
Copy link
Contributor

🤖 Your WebAssembly Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-19230/index.html

@unodevops
Copy link
Contributor

🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-19230/index.html

@unodevops
Copy link
Contributor

⚠️⚠️ The build 152220 has failed on Uno.UI - CI.

@jeromelaban jeromelaban force-pushed the dev/jela/animator-wasm branch from ed7d95a to 78e30a6 Compare January 16, 2025 16:19
@jeromelaban jeromelaban marked this pull request as ready for review January 16, 2025 16:20
@jeromelaban jeromelaban enabled auto-merge January 16, 2025 16:20
@unodevops
Copy link
Contributor

🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-19230/index.html

@unodevops
Copy link
Contributor

🤖 Your WebAssembly Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-19230/index.html

@unodevops
Copy link
Contributor

⚠️⚠️ The build 152294 has failed on Uno.UI - CI.

@jeromelaban jeromelaban disabled auto-merge January 17, 2025 04:05
@nventive-devops
Copy link
Contributor

The build 152294 found UI Test snapshots differences: android-28-net8: 19, android-28-net8-Snap: 33, ios: 8, ios-Snap: 44, skia-gtk-screenshots: 60, skia-linux-screenshots: 68, skia-windows-screenshots: 54, wasm: 212, wasm-automated-net9.0-UWP-Default-automated: 31, wasm-automated-net9.0-UWP-RuntimeTests-0: 0, wasm-automated-net9.0-UWP-RuntimeTests-1: 0, wasm-automated-net9.0-UWP-RuntimeTests-2: 0, wasm-automated-net9.0-WinUI-Benchmarks-automated: 0, wasm-automated-net9.0-WinUI-RuntimeTests-0: 0, wasm-automated-net9.0-WinUI-RuntimeTests-1: 0, wasm-automated-net9.0-WinUI-RuntimeTests-2: 0

Details
  • android-28-net8: 19 changed over 829

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • Detereminate_ProgressRing_Validation75_[#FF0000_#008000_#008000_#008000]_Progress-Ring-Value-75
    • Detereminate_ProgressRing_Validation50_[#FF0000_#008000_#008000_#FF0000]_Progress-Ring-Value-50
    • Detereminate_ProgressRing_Validation25_[#FF0000_#008000_#FF0000_#FF0000]_Progress-Ring-Value-25
    • NavigateBackAndForthBetweenMenuItemsAndSettings_Fluent_SamplesApp_Samples_Microsoft_UI_Xaml_Controls_NavigationViewTests_FluentStyle_FluentStyle_NavigationViewSample
    • UpDownEnabledTest_UITests_Shared_Microsoft_UI_Xaml_Controls_NumberBoxTests_NumberBoxPage
    • When_MultipleSelectionWithoutItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
    • Button_NestedButtons_Validation_nVentive_Umbrella_Views_UI_Samples_Content_UITests_ButtonTestsControl_Nested_Buttons
    • ListView_ListViewWithHeader_InitializesTest_SamplesApp_Windows_UI_Xaml_Controls_ListView_HorizontalListViewGrouped
    • ProgressRing_IsEnabled_Running_UITests_Windows_UI_Xaml_Controls_ProgressRing_WindowsProgressRing_GH1220
    • SequentialAnimations_SamplesApp_Windows_UI_Xaml_Media_Animation_SequentialAnimationsPage
    • When_ExtendedSelectionWithoutItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
    • ProgressRing_Visibility_Collapsed_UITests_Windows_UI_Xaml_Controls_ProgressRing_WindowsProgressRing_GH1220
    • When_Clipped_Rounded_Corners_UITests_Windows_UI_Xaml_Clipping_Clipping4273
    • When_Clip_Is_Set_On_Child_Element_original
    • When_Clip_Is_Set_On_Child_Element_validation
    • When_SingleSelectionWithItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
    • When_SingleSelectionWithoutItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
    • When_NoSelectionWithItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
    • When_NoSelection_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
  • android-28-net8-Snap: 33 changed over 1067

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • Gesture_Recognizer_Pointer_Events_test_bench_UITests_Shared_Windows_UI_Input_GestureRecognizer_PointersEvents
    • MediaPlayerElement_Mini_player_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Minimal
    • MediaPlayerElement_Sources_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Sources
    • SwipeControl_MUXControlsTestApp_SwipeControlPage2_MUXControlsTestApp_SwipeControlPage2
    • TextBox_UITests_Shared_Windows_UI_Xaml_Controls_TextBoxTests_Width_Affects_Delete_Button_UITests_Shared_Windows_UI_Xaml_Controls_TextBoxTests_Width_Affects_Delete_Button
    • Default_Uno_UI_Samples_Content_UITests_WebView_WebView_AnchorNavigation_Uno_UI_Samples_Content_UITests_WebView_WebView_AnchorNavigation
    • ListView_ListView_FirstLastCacheIndex_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListView_FirstLastCacheIndex
    • RatingControl_UITests_Microsoft_UI_Xaml_Controls_RatingControlTests_RatingControlPage_UITests_Microsoft_UI_Xaml_Controls_RatingControlTests_RatingControlPage
    • TextBox_UITests_Shared_Windows_UI_Xaml_Controls_TextBoxTests_TextBox_CharacterCasing_UITests_Shared_Windows_UI_Xaml_Controls_TextBoxTests_TextBox_CharacterCasing
    • TextBox_UITests_Shared_Windows_UI_Xaml_Controls_TextBoxTests_TextBox_IsReadOnly_AcceptsReturn_UITests_Shared_Windows_UI_Xaml_Controls_TextBoxTests_TextBox_IsReadOnly_AcceptsReturn
    • TextBox_UITests_Shared_Windows_UI_Xaml_Controls_TextBoxTests_TextBox_Selection_UITests_Shared_Windows_UI_Xaml_Controls_TextBoxTests_TextBox_Selection
    • NavigationView_MUXControlsTestApp_NavigationViewRS4Page_MUXControlsTestApp_NavigationViewRS4Page
    • NavigationView_MUXControlsTestApp_NavigationViewTopNavOnlyPage_MUXControlsTestApp_NavigationViewTopNavOnlyPage
    • Scrolling_MUXControlsTestApp_ScrollViewWithScrollControllersPage_MUXControlsTestApp_ScrollViewWithScrollControllersPage
    • Buttons_UITests_Microsoft_UI_Xaml_Controls_RadioButtonsTests_RadioButtonsPage_UITests_Microsoft_UI_Xaml_Controls_RadioButtonsTests_RadioButtonsPage
    • Scrolling_MUXControlsTestApp_ScrollViewKeyboardAndGamepadNavigationPage_MUXControlsTestApp_ScrollViewKeyboardAndGamepadNavigationPage
    • NavigationView_MUXControlsTestApp_NavigationViewTopNavPage_MUXControlsTestApp_NavigationViewTopNavPage
    • ListView_ListViewSelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItems
    • MediaPlayerElement_Using_3gp_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_3gp_Extension
    • MediaPlayerElement_Using_mp3_Audio_only_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Mp3_Extension
  • ios: 8 changed over 267

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • ProgressRing_Visibility_Collapsed_UITests_Windows_UI_Xaml_Controls_ProgressRing_WindowsProgressRing_GH1220
    • TextBox_UpdatedBinding_On_OneWay_Mode_UITests_Windows_UI_Xaml_Controls_TextBox_TextBox_Bindings
    • ProgressRing_IsEnabled_Running_UITests_Windows_UI_Xaml_Controls_ProgressRing_WindowsProgressRing_GH1220
    • When_SingleSelectionWithoutItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
    • Check_ListView_Swallows_Measure_UITests_Shared_Windows_UI_Xaml_Controls_ListView_ListView_With_ListViews_Count_Measure
    • ListView_SelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItems
    • When_NoSelectionWithItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
    • When_NoSelection_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
  • ios-Snap: 44 changed over 1058

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • Image_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Algmnt_Inf_Horizontal_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Algmnt_Inf_Horizontal
    • Image_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Alignment_SizeOnControl_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Alignment_SizeOnControl
    • Brushes_ImageBrushStretch2_Uno_UI_Samples_UITests_ImageBrushTestControl_ImageBrushStretch2
    • NavigationView_MUXControlsTestApp_NavigationViewIsPaneOpenPage_MUXControlsTestApp_NavigationViewIsPaneOpenPage
    • Grid_CenteredGridinGridwiththreefixedsizechildren_Uno_UI_Samples_Content_UITests_GridTestsControl_CenteredGridinGridwiththreefixedsizechildren
    • Image_UITests_Windows_UI_Xaml_Controls_ImageTests_Image_Formats_UITests_Windows_UI_Xaml_Controls_ImageTests_Image_Formats
    • TextBox_Input_InputScope_PhoneNumber_Uno_UI_Samples_Content_UITests_TextBoxControl_Input_InputScope_PhoneNumber
    • ListView_ListView_With_ListViews_Count_Measure_UITests_Shared_Windows_UI_Xaml_Controls_ListView_ListView_With_ListViews_Count_Measure
    • Icons_UITests_Microsoft_UI_Xaml_Controls_ImageIconTests_ImageIconPage_UITests_Microsoft_UI_Xaml_Controls_ImageIconTests_ImageIconPage
    • Brushes_ImageBrushWithCompositeTransform_Uno_UI_Samples_UITests_ImageBrushTestControl_ImageBrushWithCompositeTransform
    • GridView_GenericApp_Views_Samples_Shared_Content_UITests_GridViewGrouped_GenericApp_Views_Samples_Shared_Content_UITests_GridViewGrouped
    • NavigationView_MUXControlsTestApp_NavigationViewMenuItemStretchPage_MUXControlsTestApp_NavigationViewMenuItemStretchPage
    • NavigationView_MUXControlsTestApp_NavigationViewMinimalPage_MUXControlsTestApp_NavigationViewMinimalPage
    • ListView_ListViewSelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItems
    • Brushes_PathImageBrushfill_Uno_UI_Samples_UITests_ImageBrushTestControl_PathImageBrushfill
    • Default_UITests_Windows_UI_Xaml_Controls_TextBox_TextBox_CornerRadius_UITests_Windows_UI_Xaml_Controls_TextBox_TextBox_CornerRadius
    • ListView_HorizontalListView_Padding_SamplesApp_Windows_UI_Xaml_Controls_ListView_HorizontalListView_Padding
    • MediaPlayerElement_Sources_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Sources
    • Brushes_ImageBrushStretch_Uno_UI_Samples_UITests_ImageBrushTestControl_ImageBrushStretch
    • Image_EmptyImageFixedWidth_Uno_UI_Samples_UITests_ImageTestsControl_EmptyImageFixedWidth
  • skia-gtk-screenshots: 60 changed over 2232

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • BorderImageBrushRelativeTransform.png-dark
    • Buttons.png
    • Buttons.png-dark
    • CalendarView_Theming.png-dark
    • ListViewHeaderUpdate.png-dark
    • ListViewHeaderUpdate.png
    • ImageIconPage.png-dark
    • StretchNoneBoundingBoxInDoubleStackPanel.png-dark
    • StretchNoneBoundingBoxInDoubleStackPanel.png
    • BorderImageBrushRelativeTransform.png
    • ImageBrushAlignmentXY2.png-dark
    • ImageBrushAlignmentXY2.png
    • Uniform100x100.png-dark
    • Uniform100x100.png
    • UniformAlignmentCenterInDoubleStackPanelWebUri.png-dark
    • UniformAlignmentCenterInDoubleStackPanelWebUri.png
    • ClipboardTests.png-dark
    • ClipboardTests.png
    • ImageIconPage.png
    • SplitButtonTestsPage.png-dark
  • skia-linux-screenshots: 68 changed over 2232

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • DropDownButtonPage.png-dark
    • BorderImageBrushRelativeTransform.png
    • CompositionEffectBrush.png-dark
    • CompositionEffectBrush.png
    • ImageBrushInList.png-dark
    • ImageBrushInList.png
    • CalendarView_Theming.png-dark
    • Gamepad_Enumeration.png-dark
    • Gamepad_Enumeration.png
    • DragDrop_TestPage.png-dark
    • DragDrop_TestPage.png
    • ImageInStackPanel.png-dark
    • ImageInStackPanel.png
    • Ellipse.png-dark
    • Ellipse.png
    • DoubleImageBrushInList.png-dark
    • DoubleImageBrushInList.png
    • BorderImageBrush.png-dark
    • DisplayInformation.png-dark
    • DisplayInformation.png
  • skia-windows-screenshots: 54 changed over 2232

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • DropDownButtonPage.png-dark
    • DropDownButtonPage.png
    • Gamepad_CurrentReading.png-dark
    • DisplayInformation.png-dark
    • DisplayInformation.png
    • Gamepad_Enumeration.png-dark
    • Gamepad_Enumeration.png
    • BorderImageBrushRelativeTransform.png
    • ClipboardTests.png
    • ImagesInlineInFlipView.png-dark
    • ImagesInlineInFlipView.png
    • BorderImageBrushRelativeTransform.png-dark
    • Examples.png
    • Buttons.png
    • ButtonClippingTestsControl.png-dark
    • ButtonClippingTestsControl.png
    • Focus_FocusVisual_Properties.png-dark
    • Focus_FocusVisual_Properties.png
    • ImageBrushInList.png-dark
    • ImageBrushInList.png
  • wasm: 212 changed over 1043

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • SamplesApp.Microsoft_UI_Xaml_Controls.WebView2Tests.WebView2_ChromeClient
    • SamplesApp.Samples.Microsoft_UI_Xaml_Controls.NavigationViewTests.FluentStyle.FluentStyle_NavigationViewSample
    • SamplesApp.Windows_UI_Xaml_Shapes.StretchPage
    • UITests.Shared.Windows_UI_Xaml_Controls.ListView.ListView_ChangeView
    • UITests.Shared.Windows_UI_Xaml_Controls.TimePicker.TimePicker_Flyout_Automated_Reload
    • UITests.Windows_UI_Composition.Vector3KeyFrameAnimationSample
    • UITests.Windows_UI_Composition.VisualRotationSample
    • UITests.Windows_UI_Xaml.UIElementTests.UIElement_MeasureDirtyPath
    • UITests.Windows_UI_Xaml.WindowTests.Window_SetBackground
    • UITests.Windows_UI_Xaml_Controls.TextBox.TextBox_VerticalAlignment
    • UITests.Windows_UI_Xaml_Controls.TextBox.TextBox_Visibility
    • Uno.UI.Samples.Content.UITests.FocusTests.FocusManager_GetFocus_Automated
    • SamplesApp.Wasm.Windows_UI_Xaml_Controls.ListView.ListView_IsSelected
    • SamplesApp.Wasm.Windows_UI_Xaml_Media.Transform.TextBox_With_RotateTransform
    • UITests.Microsoft_UI_Xaml_Controls.PagerControlTests.PagerControlPage
    • UITests.Shared.Windows_UI_Xaml.Enability.BasicEnability
    • UITests.Shared.Windows_UI_Xaml_Controls.ListView.ListView_ItemsPanel_HotSwap
    • UITests.Shared.Windows_UI_Xaml_Controls.ListView.ListView_ProportionalPanel
    • UITests.Windows_UI_Input.PointersTests.ScrollHandled
    • UITests.Windows_UI_Notifications.BadgeNotificationTests
  • wasm-automated-net9.0-UWP-Default-automated: 31 changed over 1947

    🚨🚨 Comparison Details (first 20) 🚨🚨
    • ListView_ListViewSelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItems
    • Border_OnepxThicknessandRadiusAndTextBlock_Uno_UI_Samples_UITests_BorderTestsControl_OnepxThicknessandRadiusAndTextBlock
    • Default_StrokeThickness_MyPolygon_0_StrokeThickness
    • ListView_SelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItems
    • Brushes_BorderImageBrush_Uno_UI_Samples_UITests_ImageBrushTestControl_BorderImageBrush
    • Default_StrokeThickness_MyRect
    • Default_StrokeThickness_MyRect_0_StrokeThickness
    • MediaPlayerElement_Mini_player_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Minimal
    • MediaPlayerElement_Sources_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Sources
    • Default_StrokeThickness_MyEllipse_0_StrokeThickness
    • Default_StrokeThickness_MyLine
    • Default_StrokeThickness_MyPath
    • Brushes_PanelImageBrush_Uno_UI_Samples_UITests_ImageBrushTestControl_PanelImageBrush
    • Default_SamplesApp_Wasm_Windows_UI_Xaml_Controls_ListView_ListView_IsSelected_SamplesApp_Wasm_Windows_UI_Xaml_Controls_ListView_ListView_IsSelected
    • Default_StrokeThickness_MyEllipse
    • Expander_WinUIExpanderPage_UITests_Shared_Microsoft_UI_Xaml_Controls_ExpanderTests_WinUIExpanderPage
    • MediaPlayerElement_Using_3gp_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_3gp_Extension
    • MediaPlayerElement_Using_mp3_Audio_only_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Mp3_Extension
    • MediaPlayerElement_Using_ogg_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Ogg_Extension
    • Screenshots_Image_Stretch_Alignment_SizeOnControl_Mode-2
  • wasm-automated-net9.0-UWP-RuntimeTests-0: 0 changed over 1

  • wasm-automated-net9.0-UWP-RuntimeTests-1: 0 changed over 1

  • wasm-automated-net9.0-UWP-RuntimeTests-2: 0 changed over 1

  • wasm-automated-net9.0-WinUI-Benchmarks-automated: 0 changed over 1

  • wasm-automated-net9.0-WinUI-RuntimeTests-0: 0 changed over 1

  • wasm-automated-net9.0-WinUI-RuntimeTests-1: 0 changed over 1

  • wasm-automated-net9.0-WinUI-RuntimeTests-2: 0 changed over 1

@jeromelaban jeromelaban merged commit e9531f3 into master Jan 17, 2025
114 checks passed
@jeromelaban jeromelaban deleted the dev/jela/animator-wasm branch January 17, 2025 13:15
jeromelaban added a commit that referenced this pull request Jan 17, 2025
…5.6/pr-19230

perf(anim): Register only once to the JS animationframe callback (backport #19230)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platform/wasm 🌐 Categorizes an issue or PR as relevant to the WebAssembly platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants