mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
35e2a63b8d
Summary: We introduce a few optimizations: (1) Previous diff: We defer calling any NativeAnimatedModule methods by waiting 1ms before flushing the queue, and debouncing until no flush is requested. Practically, this just means that we'll call NativeAnimatedModule methods N times at once, at the end of a render loop, instead of N times smeared throughout the render loop. (2) Additionally, instead of calling N methods, we create multi-operation argument buffer and call a single NativeAnimatedModule API, which should essentially throttle NativeAnimatedModule API calls to once-ish per frame. On the native side, this also reduces a lot of overhead associated with scheduling work on the UI thread (we schedule 1 function to run on the UI thread and perform N operations, as opposed to scheduling N functions to run on the UI thread). TODO: - implement stubs for iOS - write gating code so this can be properly tested in VR and in fb4a Changelog: [Internal] Reviewed By: genkikondo Differential Revision: D36338606 fbshipit-source-id: 29ac949b53b874683128a76525586c22def3143b