Announcement

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

    ListGrid selection move slow with high CPU usage

    1. SmartGWT 3.0p (any nightly build) , GWT 2.4.

    2. Firefox 10.

    LiveGrid example.
    If that example is executed with Smart GWT 3.0 release beginning of December 2011 speed of moving row selection in ListGrid by keypads is reasonable fast but if SmartGWT 3.0p (any nightly build) is used then significant slow down is experienced (process goes to 100%).

    Is there any setting of ListGrid necessary in latest nightly to make it fast as it was before.
    Thanks.
    BR
    Marije

    #2
    See the FAQ about performance problems. Once you've eliminated all of those possible issues let us know.

    Comment


      #3
      I have checked the FAQ and could not find any hint that could help me.
      As I said I pulled source code from livegrid showcase and test it in clean project against latest 3.0p nightly and official 3.0 and nightly is much slower regarding moving selection im listgrid, with same firefox 10 browser.
      So, I thought that something has changed in between that sliped my mind about listgrid settings.
      Any help is welcome.
      I can post stand alone case but as I said that is from showcase.
      Thanks.
      br
      marije

      Comment


        #4
        Your report is unique. No one else is reporting a performance regression.

        Please take a second look at the FAQ and let us know your findings on each point mentioned, so we can be sure you aren't just missing something already covered in the FAQ.

        Comment


          #5
          While still looking in FAQ for cause of slow down I am pasting logs for this case.

          I have turned log level to DEBUG for scrolling, sizing, layout and animation and got this output when selecting one by one record in ListGrid by mouse click:

          SmartGWT 3.0p latest nightly logs:

          Code:
          13:11:11.497:RDQ6:INFO:sizing:isc_ListGrid_0_body:Specified size: 588x616, drawn scroll size: 715x15092, border: 0x0, margin: 0x0, reason: redraw
          13:11:11.502:RDQ6:DEBUG:sizing:isc_ListGrid_0_body:handle sizes: {scrollLeft: 0,
          scrollTop: 0,
          scrollWidth: 715,
          scrollHeight: 15092,
          clientWidth: undef,
          clientHeight: undef,
          offsetWidth: 572,
          offsetHeight: 600,
          styleLeft: "0px",
          styleTop: "23px",
          styleWidth: "572px",
          styleHeight: "600px",
          styleClip: ""}
          13:11:11.506:RDQ6:INFO:scrolling:isc_ListGrid_0_body:Drawn size: 715 by 15092, specified: 588 by 616, scrollbar state: hv
          13:11:11.515:RDQ6:INFO:sizing:isc_ListGrid_0:Specified size: 590x641, drawn scroll size: 588x639, border: 2x2, margin: 0x0, reason: redraw
          13:11:11.520:RDQ6:DEBUG:sizing:isc_ListGrid_0:handle sizes: {scrollLeft: 0,
          scrollTop: 0,
          scrollWidth: 588,
          scrollHeight: 639,
          clientWidth: undef,
          clientHeight: undef,
          offsetWidth: 590,
          offsetHeight: 641,
          styleLeft: "0px",
          styleTop: "0px",
          styleWidth: "590px",
          styleHeight: "641px",
          styleClip: ""}
          13:11:14.308:RDQ5:INFO:sizing:isc_ListGrid_0_body:Specified size: 588x616, drawn scroll size: 715x15092, border: 0x0, margin: 0x0, reason: redraw
          13:11:14.313:RDQ5:DEBUG:sizing:isc_ListGrid_0_body:handle sizes: {scrollLeft: 0,
          scrollTop: 0,
          scrollWidth: 715,
          scrollHeight: 15092,
          clientWidth: undef,
          clientHeight: undef,
          offsetWidth: 572,
          offsetHeight: 600,
          styleLeft: "0px",
          styleTop: "23px",
          styleWidth: "572px",
          styleHeight: "600px",
          styleClip: ""}
          13:11:14.317:RDQ5:INFO:scrolling:isc_ListGrid_0_body:Drawn size: 715 by 15092, specified: 588 by 616, scrollbar state: hv
          13:11:14.326:RDQ5:INFO:sizing:isc_ListGrid_0:Specified size: 590x641, drawn scroll size: 588x639, border: 2x2, margin: 0x0, reason: redraw
          13:11:14.330:RDQ5:DEBUG:sizing:isc_ListGrid_0:handle sizes: {scrollLeft: 0,
          scrollTop: 0,
          scrollWidth: 588,
          scrollHeight: 639,
          clientWidth: undef,
          clientHeight: undef,
          offsetWidth: 590,
          offsetHeight: 641,
          styleLeft: "0px",
          styleTop: "0px",
          styleWidth: "590px",
          styleHeight: "641px",
          styleClip: ""}
          13:11:17.006:RDQ4:INFO:sizing:isc_ListGrid_0_body:Specified size: 588x616, drawn scroll size: 715x15092, border: 0x0, margin: 0x0, reason: redraw
          13:11:17.011:RDQ4:DEBUG:sizing:isc_ListGrid_0_body:handle sizes: {scrollLeft: 0,
          scrollTop: 0,
          scrollWidth: 715,
          scrollHeight: 15092,
          clientWidth: undef,
          clientHeight: undef,
          offsetWidth: 572,
          offsetHeight: 600,
          styleLeft: "0px",
          styleTop: "23px",
          styleWidth: "572px",
          styleHeight: "600px",
          styleClip: ""}
          13:11:17.015:RDQ4:INFO:scrolling:isc_ListGrid_0_body:Drawn size: 715 by 15092, specified: 588 by 616, scrollbar state: hv
          13:11:17.023:RDQ4:INFO:sizing:isc_ListGrid_0:Specified size: 590x641, drawn scroll size: 588x639, border: 2x2, margin: 0x0, reason: redraw
          13:11:17.028:RDQ4:DEBUG:sizing:isc_ListGrid_0:handle sizes: {scrollLeft: 0,
          Interesting part is that when I do same for official release of SmartGWT 3.0 with same level of loggings (DEBUG) and same log classes NO LOG is produced at all when doing record selection one by one by mouse click in ListGrid.

          Hopefully this can be beneficial in finding root cause of my slow down.
          Thank you.
          BR
          Marije

          Comment


            #6
            I have the same problem

            Comment


              #7
              I have checked all items in FAQ related to speed and nothing is helping.
              Basically, I have made fresh installation:
              - fresh Eclipse
              - fresh GWT 2.4
              - latest SmartGWT 3.0p (also well SmartGWT 3.1d is checked)
              - clear all caches in Firefox 10
              - GWT compile
              - disable firebug

              and again it is slow.

              It is still doing some scrolling and sizing based on logs besides it is just clicking on rec by rec (no scrolling or sizing actions from my side):

              Code:
              13:20:37.422:TMR3:INFO:sizing:isc_ListGrid_0_body:Specified size: 778x450, drawn scroll size: 762x15092, border: 0x0, margin: 0x0, reason: redraw
              13:20:37.423:TMR3:DEBUG:sizing:isc_ListGrid_0_body:clipHandle sizes: {scrollLeft: 0,
              scrollTop: 0,
              scrollWidth: 762,
              scrollHeight: 15092,
              clientWidth: undef,
              clientHeight: undef,
              offsetWidth: 762,
              offsetHeight: 450,
              styleLeft: "0px",
              styleTop: "23px",
              styleWidth: "762px",
              styleHeight: "450px",
              styleClip: ""}
              13:20:37.424:TMR3:DEBUG:sizing:isc_ListGrid_0_body:handle sizes: {scrollLeft: 0,
              scrollTop: 0,
              scrollWidth: 762,
              scrollHeight: 15092,
              clientWidth: undef,
              clientHeight: undef,
              offsetWidth: 762,
              offsetHeight: 15092,
              styleLeft: "",
              styleTop: "",
              styleWidth: "",
              styleHeight: "",
              styleClip: ""}
              13:20:37.424:TMR3:INFO:scrolling:isc_ListGrid_0_body:Drawn size: 762 by 15092, specified: 778 by 450, scrollbar state: v
              Any help is appreciated.
              Thanks.
              BR
              Marije

              PS
              It seems there are others that have same issue.

              Comment


                #8
                Just one addition to this issue.
                I have tried also this example on differenet OS (linux) which did not have gwt previously and it has same behaviour, slow listgrid clicking.
                So, can you please try yourself clean run of livegrid showcase since it is pretty strange that I have that problem on two differenet OSs but you do not?

                thank you.
                br
                marije

                Comment


                  #9
                  We're not reproducing redraws on rollover.

                  1. see if you have any external CSS in your project. This could conceivably cause redraws on rollover

                  2. enable the "redraws" and "redrawTrace" log categories in the Developer Console. This will show you the cause of the redraws, or a stack trace if the cause was not reported.

                  Comment


                    #10
                    Thank you for reply.

                    Regarding the external CSS, I have checked and there are no external CSSs in my project.

                    Also, I have turned redraw and redraw trace logs to DEBUG level and got this:
                    Code:
                    09:34:39.211:MUP5:INFO:redraws:isc_ListGrid_0:Scheduling redraw (19 children) (no reason provided)
                        Class.getStackTrace(_1=>undef, _2=>undef, _3=>undef, _4=>undef)
                        Canvas.$q9(_1=>undef, _2=>undef)
                        Canvas.markForRedraw(_1=>undef)
                        Class.invokeSuper(_1=>null, _2=>"markForRedraw", _3=>undef, _4=>undef, _5=>undef, _6=>undef, _7=>undef, _8=>undef, _9=>undef, _10=>undef)
                        Class.Super(_1=>"markForRedraw", _2=>Obj{length:0}, _3=>undef)
                        Layout.markForRedraw()
                        GridRenderer.selectOnMouseUp(_1=>Obj, _2=>0, _3=>2, undef, undef, undef, undef, undef)
                        ** recursed on Class.invokeSuper
                    
                    09:34:40.872:RDQ9:INFO:sizing:isc_ListGrid_0_body:Specified size: 588x394, drawn scroll size: 715x15092, border: 0x0, margin: 0x0, reason: redraw
                    09:34:40.888:RDQ9:DEBUG:sizing:isc_ListGrid_0_body:handle sizes: {scrollLeft: 0,
                    scrollTop: 0,
                    scrollWidth: 715,
                    scrollHeight: 15092,
                    clientWidth: undef,
                    clientHeight: undef,
                    offsetWidth: 572,
                    offsetHeight: 378,
                    styleLeft: "0px",
                    styleTop: "23px",
                    styleWidth: "572px",
                    styleHeight: "378px",
                    styleClip: ""}
                    09:34:40.888:RDQ9:INFO:scrolling:isc_ListGrid_0_body:Drawn size: 715 by 15092, specified: 588 by 394, scrollbar state: hv
                    09:34:40.903:RDQ9:INFO:sizing:isc_ListGrid_0:Specified size: 590x419, drawn scroll size: 588x417, border: 2x2, margin: 0x0, reason: redraw
                    09:34:40.903:RDQ9:DEBUG:sizing:isc_ListGrid_0:handle sizes: {scrollLeft: 0,
                    scrollTop: 0,
                    scrollWidth: 588,
                    scrollHeight: 417,
                    clientWidth: undef,
                    clientHeight: undef,
                    offsetWidth: 590,
                    offsetHeight: 419,
                    styleLeft: "0px",
                    styleTop: "0px",
                    styleWidth: "590px",
                    styleHeight: "419px",
                    styleClip: ""}
                    09:34:40.903:RDQ9:DEBUG:redraws:clearRedrawQueue: 1 redraws (1 items), 1666ms
                    09:34:43.496:MUP6:INFO:redraws:isc_ListGrid_0:Scheduling redraw (19 children) (no reason provided)
                        Class.getStackTrace(_1=>undef, _2=>undef, _3=>undef, _4=>undef)
                        Canvas.$q9(_1=>undef, _2=>undef)
                        Canvas.markForRedraw(_1=>undef)
                        Class.invokeSuper(_1=>null, _2=>"markForRedraw", _3=>undef, _4=>undef, _5=>undef, _6=>undef, _7=>undef, _8=>undef, _9=>undef, _10=>undef)
                        Class.Super(_1=>"markForRedraw", _2=>Obj{length:0}, _3=>undef)
                        Layout.markForRedraw()
                        GridRenderer.selectOnMouseUp(_1=>Obj, _2=>1, _3=>3, undef, undef, undef, undef, undef)
                        ** recursed on Class.invokeSuper
                    
                    09:34:45.118:RDQ9:INFO:sizing:isc_ListGrid_0_body:Specified size: 588x394, drawn scroll size: 715x15092, border: 0x0, margin: 0x0, reason: redraw
                    09:34:45.123:RDQ9:DEBUG:sizing:isc_ListGrid_0_body:handle sizes: {scrollLeft: 0,
                    scrollTop: 0,
                    scrollWidth: 715,
                    scrollHeight: 15092,
                    clientWidth: undef,
                    clientHeight: undef,
                    offsetWidth: 572,
                    offsetHeight: 378,
                    styleLeft: "0px",
                    styleTop: "23px",
                    styleWidth: "572px",
                    styleHeight: "378px",
                    styleClip: ""}
                    09:34:45.127:RDQ9:INFO:scrolling:isc_ListGrid_0_body:Drawn size: 715 by 15092, specified: 588 by 394, scrollbar state: hv
                    09:34:45.135:RDQ9:INFO:sizing:isc_ListGrid_0:Specified size: 590x419, drawn scroll size: 588x417, border: 2x2, margin: 0x0, reason: redraw
                    09:34:45.140:RDQ9:DEBUG:sizing:isc_ListGrid_0:handle sizes: {scrollLeft: 0,
                    scrollTop: 0,
                    scrollWidth: 588,
                    scrollHeight: 417,
                    clientWidth: undef,
                    clientHeight: undef,
                    offsetWidth: 590,
                    offsetHeight: 419,
                    styleLeft: "0px",
                    styleTop: "0px",
                    styleWidth: "590px",
                    styleHeight: "419px",
                    styleClip: ""}
                    09:34:45.144:RDQ9:DEBUG:redraws:clearRedrawQueue: 1 redraws (1 items), 1632ms
                    09:34:46.943:MUP8:INFO:redraws:isc_ListGrid_0:Scheduling redraw (19 children) (no reason provided)
                        Class.getStackTrace(_1=>undef, _2=>undef, _3=>undef, _4=>undef)
                        Canvas.$q9(_1=>undef, _2=>undef)
                        Canvas.markForRedraw(_1=>undef)
                        Class.invokeSuper(_1=>null, _2=>"markForRedraw", _3=>undef, _4=>undef, _5=>undef, _6=>undef, _7=>undef, _8=>undef, _9=>undef, _10=>undef)
                        Class.Super(_1=>"markForRedraw", _2=>Obj{length:0}, _3=>undef)
                        Layout.markForRedraw()
                        GridRenderer.selectOnMouseUp(_1=>Obj, _2=>2, _3=>3, undef, undef, undef, undef, undef)
                        ** recursed on Class.invokeSuper
                    Is this helpful for you to identify the problem since I can not understand it?
                    Thank you.
                    BR
                    Marije

                    Comment


                      #11
                      You're showing redraws that are triggered by clicks, no rollover.

                      Comment


                        #12
                        Yes, that is the case from the beginig.
                        When I click row by row I got those logs, which are not produced by old smartgwt and which I believe cause high cpu load (I am repeating again when clicking row by row).
                        thank you.
                        br
                        marije

                        Comment


                          #13
                          Let me just repeate what the problem is.
                          Problem is high CPU load when clicking record one by one in listgrid.
                          That behaviour was not present with official smartgwt 3.0, it is present in latest smartgwt 3.0p.

                          Logs shown in previous posts are for high CPU case and such logs are not expirienced with official smartgwt 3.0.

                          BR
                          Marije

                          Comment

                          Working...
                          X