Perf Suggestion: Try a less DOM-heavy approach to infinite scrolling

I’ve noticed that my NewsBlur tabs take a lot of CPU and RAM and while I haven’t debugged it for specific numbers yet, I have anecdotally noticed that the biggest visible indicator of performance stress is scrolling issues in the various feed rivers (where I personally spend most of my time). I know of two libraries that have worked hard to optimize unloading DOM elements that have scrolled out of view in an infinite scroll scenario. (This helps performance by giving the browser less work to do on already viewed items.)

The libraries I know of are:

Airbnb’s infinity.js: http://airbnb.github.io/infinity/

WinJS’ ListView: http://dev.windows.com/en-us/develop/winjs

Infinity.js is certainly the lighter weight library of the two. It requires you to avoid changing the size of items, so it might mean changes to the behaviors of social feed expansion and the Save/Share buttons at small window sizes.

Anyway, please take a look at this idea as it might be a great way to improve the performance of NewsBlur in our browsers.

2 Likes

Oh yeah, you know it. I would love to move to buffered lists, but it’s a whole lot of work. But I’ve seen Infinity.js and it’s a non-starter. I’m going to have to build my own. Luckily, I’ve worked on something like this before in a past life when I was at DocumentCloud. See http://documents.nytimes.com/sotomayor-s-senate-questionnaire.