question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

overscan direction = both

See original GitHub issue

Overscan (#64) helps UX a lot when cells contain slowly rendered graphics. However, when a user suddenly changes scroll direction, flickering still occurs. This happens because the cells are deleted immediately after going even by 1 pixel beyond the screen.

Some exploration tasks expect users to navigate around a virtual grid in unpredictable directions to perform visual comparison between objects or features. It would help a lot if developers could tell react-virtualized to keep cell cache in both directions when needed. This could be something like overscanBothDirections={true} or reverseOverscanColumnCount={42} + reverseOverscanRowCount={43}.

What do you think?

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Reactions:11
  • Comments:12 (9 by maintainers)

github_iconTop GitHub Comments

6reactions
kachkaevcommented, Jan 31, 2017

Hi again @bvaughn,

Check out this MWE:
https://kachkaev.github.io/react-virtualized-overscan-direction-issue/

Source:
https://github.com/kachkaev/react-virtualized-overscan-direction-issue/blob/master/src/App.js

When you scroll in one direction, the cells almost always render outside the viewport, because overscanRowCount=2. However, when you suddenly decide to scroll back, you start seeing green or red artifacts while the tiles or SVGs are being prepared. reverseOverscanRowCount={N} could solve this negative visual effect.

The problem I was able to reproduce in the demo is not as severe as in the real app I’ve been making. I’ve got WebGL maps with vector tiles in there and the components require 0.5-1 sec to warm up. MapboxGL.js has some issues with webpack, so I could not fit it into create-react-app for the demo (it works OK with react-boilerplate, but that would make the MWE too bulky).

Would be glad to know what you think! The visual effect that’s being observed at the moment makes it harder to perform data exploration and certain cognitive comparison tasks and it’d be great to escape this problem somehow.

2reactions
ivanalejandro0commented, Feb 17, 2017

Do you think that we can have this new property (overscanIndicesGetter) on the List as well? I guess it could be passed through to the Grid like is done with overscanRowCount.

P.s.: This is great news!, I wanted to avoid the extra cpu consumption when the scroll direction is changed on small devices and this is what I needed to achieve it. Thank you very much!

Read more comments on GitHub >

github_iconTop Results From Across the Web

Overscan
In this notebook we will look at the overscan region for two different cameras ... in the "short" direction and over the entire...
Read more >
How To Fix Overscan in Windows 10 to Fit to Screen
In simpler words, an overscan (or over scaling) is when your screen looks like it's zoomed in. The items that typically sit at...
Read more >
Layout of the FITS Images: Image and Overscan Sections
Each FITS image consists of both image and overscan pixels. ... the overscan region appears as a strip running in the column direction...
Read more >
HDTV Overscan: What It Is and Why You Should (Probably ...
The answer was overscan, which essentially cuts off the edges of the picture to ensure all the important stuff shows up on the...
Read more >
1.6. Overscan — CCD Data Reduction Guide - Astropy
In this notebook we will look at the overscan region for two different cameras ... in the “short” direction and over the entire...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found