react-native/Libraries/ReactNative
Spencer Ahrens f72d9dd08b Add option to track when we're showing blankness during fast scrolling
Summary:
If tracking is enabled and the sampling check passes on a scroll or layout event,
we compare the scroll offset to the layout of the rendered items. If the items don't cover
the visible area of the list, we fire an `onFillRateExceeded` call with relevant stats for
logging the event through an analytics pipeline.

The measurement methodology is a little jank because everything is async, but it seems directionally
useful for getting ballpark numbers, catching regressions, and tracking improvements.

Benchmark testing shows a ~2014 MotoX starts hitting the fill rate limit at about 2500 px / sec,
which is pretty fast scrolling.

This also reworks our frame rate stuff so we can use a shared `SceneTracking` thing and track blankness
globally.

Reviewed By: bvaughn

Differential Revision: D4806867

fbshipit-source-id: 119bf177463c8c3aa51fa13d1a9d03b1a96042aa
2017-04-07 01:00:39 -07:00
..
AppContainer.js Fix passThroughTouches 2017-01-23 11:28:51 -08:00
AppRegistry.js Add option to track when we're showing blankness during fast scrolling 2017-04-07 01:00:39 -07:00
I18nManager.js Reorganize core JS files 2016-10-11 10:14:28 -07:00
UIManager.js Moved takeSnapshot method from UIManager to ReactNative 2017-03-25 00:46:54 -07:00
UIManagerStatTracker.js Wrapped UIManager native module for better abstraction 2015-11-27 07:00:32 -08:00
YellowBox.js Fix Warning/Yellow Box so it does not mess up app layout when opened. 2017-03-31 18:34:21 -07:00
queryLayoutByID.js Reorganize core JS files 2016-10-11 10:14:28 -07:00
renderApplication.js Move BackAndroid -> BackHandler, add Apple TV support for back nav 2017-03-06 21:51:40 -08:00
requireNativeComponent.js Replaced View.propTypes with a static getter that warned about deprecation 2017-03-28 11:32:09 -07:00
verifyPropTypes.js Replaced View.propTypes with a static getter that warned about deprecation 2017-03-28 11:32:09 -07:00