react-native/Libraries/Utilities/__tests__
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
..
MatrixMath-test.js Update Jest APIs on fbsource 2016-04-27 19:16:32 -07:00
Platform-test.js Update Jest APIs on fbsource 2016-04-27 19:16:32 -07:00
SceneTracker-test.js Add option to track when we're showing blankness during fast scrolling 2017-04-07 01:00:39 -07:00
buildStyleInterpolator-test.js Move buildStyleInterpolator-test to open-source, remove unused files 2016-09-09 10:58:59 -07:00
deepFreezeAndThrowOnMutationInDev-test.js Open source jest tests for open source components 2016-06-13 08:28:50 -07:00
groupByEveryN-test.js Auto-fix lint errors 2016-08-09 06:43:46 -07:00
mapWithSeparator-test.js Optimize and flowify mapWithSeparator 2016-05-26 12:28:55 -07:00
truncate-test.js Auto-fix lint errors 2016-08-09 06:43:46 -07:00
utf8-test.js Prevent tests with invalid UTF-8 from failing when jest reads them from the cache 2016-07-08 12:35:53 -07:00