• Guys, I think Ben is waiting for your experience with the changes on webOS. I told him there are no issues at all, but I think everyone here wants it merged into enyo1 source, so please check it on webOS and tell the results.
  • I actually plugged it into my TouchPad's Enyo, and aside from some slight stuttering in GVoice on webOS (only on webOS, other platforms are fine), everything that I tried worked fantastically. I'll try the change out on my collection of phones sometime tonight.
  • As @ekdikeo said, scrolling on the PlayBook is actually pretty smooth as long as you dont use VirtualLists. I have now switched completely from VirtualLists to VirtualRepeaters and am now quite satisfied with performance on iOS and the Playbook.
  • Problem is, that VirtualRepeaters render *everything* right away, right? So, you can't display like 1000 rows with that.
  • @sidamos Not really. They just use a different rendering strategy than the VirtualList kind. If you take a look at the documentation, it says
    A flighweight strategy is employed to render one
    set of row controls as needed for as many rows as are contained in the repeater.
    What the exact difference is and why VirtualLists are better suited to display larger amounts of data I still don't quite understand.
  • Maybe Ben can comment on this?
  • Also, what about the accelerated property of the Scroller regarding this patch?

    At the moment, I am using true for the TouchPad and false for webOS phones and Android.
  • edited March 2012
    @sidamos is right. If you have a look at the generated HTML source (via Chrome Inspector or Weinre), you see that VirtualList only generates nodes for the elements that are displayed (plus a buffer).
    VirtualRepeater however creates nodes for all the list items at once.

    So if you have a list of 1000 nodes:
    - VirtualList will generate e.g. 20 nodes (+all the subcomponents) when the list loads
    - VirtualRepeater will generate e.g. 1000 nodes (+all the subcomponents) when the list loads

    A Flyweight is just an Enyo component that can "render" (i.e. generate HTML nodes) itself multiple times.
  • Just tested 500 rows with medium complexity in a VirtualRepeater on the Pre3 and it's already pretty slow in initial rendering and scrolling is not smooth at all. Seems, like it's too many nodes to render.

    Same data in a ScrollingList (similar to VirtualList) and rowsPerScrollerPage=30 is better.

    Both with accelerated=false.

    This whole scrolling issue is getting more and more annoying...
  • I don't think that that change makes much obvious difference to the scrolling speed itself, but it does eliminate the dead halt that Android/iOS/PlayBook experience when flicking. Comparing two webOS TouchPads, running the same app, one with and one without that I couldn't really see a quantifiable difference. On Android and PlayBook, in my audio player, though, it turned a nightmarish scroller into something that much more resembles native. On GVoice which uses pretty much all text, and a lot of nested repeaters, it's still not nearly as smooth as webOS, but it's a definite improvement not having the flick halt.
  • I'have applied the patch from rustyapps and my vituallist scroll very fast on android. However I noticed that sometime my list "jump" to some item far away from where I'm in the list when I scroll it. It seems like when I want to scroll back to the top, the list scrool to some points on the other direction
    I have absolutly no clue how to fix this. Can someone maybe help?
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!