Skip to content
This repository was archived by the owner on Oct 4, 2023. It is now read-only.

[C-1984] Don't use nativeDriver for slider and tracking bar anims#2807

Merged
sliptype merged 1 commit into
mainfrom
sk-c-1984-animation-property-overflow
Feb 9, 2023
Merged

[C-1984] Don't use nativeDriver for slider and tracking bar anims#2807
sliptype merged 1 commit into
mainfrom
sk-c-1984-animation-property-overflow

Conversation

@sliptype

@sliptype sliptype commented Feb 9, 2023

Copy link
Copy Markdown
Contributor

Description

image

  • Don't use nativeDriver for slider and tracking bar anims
    Both were crashing but only the error for tracking bar was logged because the app crashed afterwards
    The serialized animations for an hour long track have over 300k properties and hermes has an upper bound
    https://reactnative.dev/docs/animations#using-the-native-driver

Dragons

Slightly less performant, but I checked and there was not a significant difference in cpu usage or app responsiveness

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide repro instructions & any configuration.

How will this change be monitored?

For features that are critical or could fail silently please describe the monitoring/alerting being added.

Feature Flags

Are all new features properly feature flagged? Describe added feature flags.

@sliptype sliptype requested review from a team and dylanjeffers February 9, 2023 00:46
// Can't use native driver because this animation is potentially hours long,
// and would have to be serialized into an array to be passed to the native layer.
// The array exceeds the number of properties allowed in hermes
useNativeDriver: false

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

damn this is WILD. maybe we can do something based on track length? regardless. holy hell great work.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe but I think serializing even a 3 minute animation is potentially expensive. I wonder if reanimated would have the same problem

@dylanjeffers dylanjeffers left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow awesome find here! It does indeed make sense why native would matter here, good stuff

@dylanjeffers dylanjeffers left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would we also want to update the the useNativeDriver in the slider? Seems like we wouldn't want to send that massive data over as well?

@sliptype

sliptype commented Feb 9, 2023

Copy link
Copy Markdown
Contributor Author

Would we also want to update the the useNativeDriver in the slider? Seems like we wouldn't want to send that massive data over as well?

Yeah I did both, or did I miss another case of this somewhere?

@sliptype sliptype merged commit 3478660 into main Feb 9, 2023
@sliptype sliptype deleted the sk-c-1984-animation-property-overflow branch February 9, 2023 16:17
audius-infra pushed a commit that referenced this pull request Feb 11, 2023
[3cbe169] [C-2070] show unsave drawer on all unfavorite buttons (#2823) Andrew Mendelsohn
[7de990a] [C-2040] Improve duration counter accuracy/performance (#2816) Dylan Jeffers
[e975303] [C-2065] Only show collection download switch if favorited (#2821) Sebastian Klingler
[8b02196] [C-2031] Fix confirmation drawer flashes (#2817) Dylan Jeffers
[6d9df4a] [C-2067] Add 'play-count' queue (#2814) Andrew Mendelsohn
[960de2c] Don't download on save if all favorites toggle off (#2815) Andrew Mendelsohn
[5310d81] Fix onPressRail animation error (#2813) Dylan Jeffers
[921e5eb] [C-2090] Reduce file reads on play (#2812) Sebastian Klingler
[a77f53c] Remove clear offline downloads button (#2811) Dylan Jeffers
[a2815e6] [C-2038] Fix unresponsive reactions (#2808) Dylan Jeffers
[a18afa2] [C-2058] prevent restart loop (#2810) Sebastian Klingler
[3478660] [C-1984] Don't use nativeDriver for slider and tracking bar anims (#2807) Sebastian Klingler
[3868712] [C-2083] Add offline sync to queue (#2803) Dylan Jeffers
[afac00a] [C-2080] Update value change logic for download toggles for favorites and collection switches (#2805) Kyle Shanks
[fb32d69] Fix audio tx modal where metadata is null (#2793) Reed
[62108a3] Update sdk to v1.0.45 (#2806) Reed
[d52491f] [C-2039] Fix search query persist (#2804) Dylan Jeffers
[aee4d8e] [C-2056] Fix lineup scrolling (#2802) Sebastian Klingler
[e776860] [C-2072] Add stale collection logic (#2801) Kyle Shanks
[a701c8d] [C-1975] Fix safari stream mp3 (#2800) Raymond Jacobson
[7e83831] Update challenges copy (#2799) Reed
[092bab6] Add script to help with linking sdk (#2798) Raymond Jacobson
[6b4f7a1] [PAY-898] Design fixes for NavMenuPopup (#2787) Marcus Pasell
[11f57c2] Remove identity artist pick path (#2781) Michelle Brier
[a9a135a] [C-2068] Add downloadQueue worker cancellation (#2797) Dylan Jeffers
[316b91f] Decode artist pick IDs and fix artist pick reads from discovery (#2795) Michelle Brier
[1dcc33a] [C-2079] Fix mobile sign up analytics (#2791) Sebastian Klingler
[e2b95ac] Add redownload logic for rehydration and stale tracks (#2790) Kyle Shanks
[c4080b4] [C-2066] Refactor offline-mode to use redux-persist (#2788) Dylan Jeffers
[4bf7c22] [PAY-891] Handle remix and availability settings on mobile (#2765) Saliou Diallo
[6f4dc13] Fix TikTok association (#2786) Sebastian Klingler
[ccee882] [C-2011] move whole tracks out of offline slice (#2784) Andrew Mendelsohn
[fa9ef86] Default offline mode off (#2785) Andrew Mendelsohn
[0d4692e] C-2041 Fix collection lineup not loading when library is only partially downloaded (#2782) nicoback2
[1159bb7] Fix remix (#2783) Saliou Diallo
[c2be8e4] Improve styling of TrackList on Favorites Screen (#2778) Sebastian Klingler
[dc17f41] Fix download progress numerator going down in the middle of downloading C-2037 (#2777) nicoback2
@AudiusProject AudiusProject deleted a comment from linear Bot Sep 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants