Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Long delay when scrolling in ListGrid

    When I use the mouse wheel to scroll in a ListGrid, it takes about a second to show the new data, which is rather annoying. I notice this also when scrolling through the Reference Docs. Is this caused by the rendering? Is there a delay anyway? Or is the data fetched slow?

    I already looked into the properties ScrollRedrawDelay and ScrollWheelRedrawDelay. I lowered those values to about 50ms but that doesn't seem to make a noticeable difference.

    Is it possible to speed things up?

    #2
    Remember to always be specific about the browser and versions tested.

    Comment


      #3
      Good point, latest MacOS X (10.9.5), latest Chrome (40). SmartClient 10 (Evaluation version of October 13th).

      Comment


        #4
        The scrollWheelRedrawDelay is explicitly used when scrolling via the scroll wheel.

        The reason for the separate configuration is that a common usage pattern is for users to flick the scroll wheel multiple times to scroll through large pages of data, and performance can actually suffer if we're redrawing while this kind of scrolling is in progress.

        Having said that - as with any performance optimization setting, the "best" behavior will vary depending on the app, so setting this to something smaller may make sense for you within your application.

        Some other settings you should be aware of in this area are:
        - listGrid.showAllRecords - defaults to false to allow incremental rendering of rows
        - listGrid.showAllColumns - defaults to false to allow incremental rendering of columns
        - scrollWheelRedrawDelay - the # of ms between a user's last scroll-wheel interaction and our refresh. Typically set to a larger value than the standard 'scrollRedrawDelay' to ensure if a user is flipping through large distances using the mouse-wheel we don't redraw on every swipe. You can modify this, or set it to null to just use the 'scrollRedrawDelay' for mouse wheel scrolling
        - drawAheadRatio - how far ahead of the viewport we typically draw cells. Expressed as a fraction of the viewport (expected to be greater than 1, so 1.3 would draw 1/3rd of the viewport height beyond the visible area). Increase for less frequent redraws (though each redraw will be a bit slower).
        - quickDrawAheadRatio -- we consider some sorts of scrolling "fast scrolling". This includes dragging the scrollbar thumb and using the mouseWheel -- basically cases where a user is likely to flip over a range of rows rapidly, so we want to minimize redraw time. When this kind of scrolling is going on, this drawAheadRatio will be used. This can be increased to get smoother scrolling / less frequent redraws while scrolling [though again each redraw will be a bit slower which could lead to choppiness when you hit the scroll boundaries].

        If these settings don't allow you to get what you're after, or you feel like you've hit an edge case where for some reason performance is worse than expected, please show us a way to reproduce, such as a very simple sample which we can run which demonstrates the problem.

        Regards
        Isomorphic Software

        Comment


          #5
          I will look into it, but as an example, navigate to the reference guide (http://www.smartclient.com/docs/release/a/b/c/go.html#class..ListGrid) and use the mouse wheel to scroll. I think it takes too much time before the new records are drawn. And I dare to say my hardware (MacBook Pro, early-2013) is fast enough.

          Comment


            #6
            We're looking on a 6-year-old Windows box and a couple of Macbooks from various years, and it seems quite quick. The only thing is maybe suboptimal is that if you use the trackpad to momentum scroll on a Macbook, you will see a blank area while momentum scrolling decelerates. Figuring out that we're in this situation would require detecting momentum vs non-momentum scrolling and is unlikely to work reliably.

            Comment


              #7
              I'm using Apple's magic mouse and I suspect it behaves like the trackpad. So probably users with mouse wheels will not have this issue.

              Comment

              Working...
              X