Closed daem0ndev closed 9 years ago
I think there was a reason for this. Would anyone like to shed some light on this decision?
I think this was working around visual artifact issues. Maybe @krisselden can shed light
very cool, thanks for the quick feedback! hope to hear from @krisselden...
in my specific use case, I was getting parts of my list items completely blanking out and not redrawing when scrolling on a nexus 5 android phone. Using translate3d resolved the issue and actually made it quite a bit more fluid.
Additionally, I would love to have used VirtualListView, but its severely broken on this same android phone in question. The scroll is not fluid or momentum at all, and it only goes one list item at a time it feels like, no matter how long or intense the swipe is.
at worst, I would also even propose making it a configurable option per list view instance... I dont mind doing the commits if I get the go ahead from you guys!
@daem0ndev I know yapp where @krisselden and @lukemelia work uses virtual on android. I am surprised you are having issues
I just checked out code, and we have the following monkeypatch:
if (isAndroid) {
VirtualRowView.reopen({
applyTransform(element, position) {
let {x, y} = position;
element.style.top = y + 'px';
element.style.left = x + 'px';
}
});
}
@daem0ndev there was a chrome bug with compositing, mac scroll bars, and 3d transforms that would composite the render buffer on top of the scroll bars. I haven't checked recently to see if it has been fixed.
I am using latest chrome on Mac and everything seems just fine ;) can we try revisiting this?
I checked out the demo on OSX and Chrome as well, seems good.
As a performance optimization on some mobile browsers, use translate3d if device supports3d.. Currently this is only done on apply3DTransform which is only used by VirtualListView. The standard ListView should also do the same logic...