Announcement

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

  • Animate Resize lag question

    SmartClient Version: v9.1p_2015-09-16/Pro Development Only (built 2015-09-16)
    Any browser, any version

    I have a question regarding the "animateResize" function from Canvas class. On SmartClient showcase, the animate resize is very smooth. On my application, it is smooth as well unless there is a large component embedded with data. I have an issue with animateResize where the transitioning is very "laggy" and seems like there is a low frame-rate. What could be the possible reasons as to why this is happening and how to resolve it? I apologize because I cannot reproduce it in your showcase, but if you guys have seen or are aware of this issue could you let me know? Thanks!

  • #2
    The difference could come from running with various development tools enabled or with log categories enabled in the Developer Console (even with the Developer Console closed).

    Comment


    • #3
      What developer tools do you mean? It seems the log categories do not work when accessed on ISC console in SmartClient showcase and on our application. How can we disable them, this error seems to indicate it is disabled? I receive the following error message (see below).

      Additional Info:
      The issue with animateResize only occurs if Component A's animateResize resizes Component B too (and Component B is a ListGrid with data in it). Same issue also arises when attempting to maximize/minimize/restore a Portlet/Window that contains, in itself, a ListGrid with data.


      Erro message:
      Failed to get log data - error: Attempt to execute RPC DMI Builtin 'getLogNames' DENIED by server.properties configuration. To enable this method, add it to the list of methods under RPCManager.enabledBuiltinMethods in server.properties

      Comment


      • #4
        That message is from the Server Logs tab, and you can enable the Server Logs tab by following the instructions in that message.

        However we were pointing out something different - that you may have log categories enabled for client-side logs shown in the Results tab. If this is unclear, please read (or revisit) the Debugging overview.

        Comment


        • #5
          We disabled the logging preferences but we still have the same issue. We were able to reproduce the choppy animations on your showcase (if you want this example, please let us know). Your solution for disabling the logging preferences worked on your showcase but on ours it did not work unfortunately. Would there be anything else that you'd suspect? We do not have that much data (maybe 100 rows of data) but it may be the amount of redrawing done when animate resizing; especially when there is a ListGrid. Your help on this issue is greatly appreciated, thank you! :)

          Comment


          • #6
            Yes, a way to reproduce a slow resize in the Showcase would be ideal.

            Other developer tools you might have active include the tools built into each browser (eg those typically launched via F12), or various browser plugins intended as development tools.

            Finally, another thing to watch is whether a lot of redraws are occurring during the resize. We would normally expect that you would only see redraws at the end of the animation, but you may be doing something that causes redraws mid-animation.

            Comment


            • #7
              Here's the code that is reproducible on your showcase. May depend on your logging preferences. But this is typically our set up in a nutshell. If you click on the green canvas, it will animate resize and push the ListGrid over. When looking at the logs, it does seem to redraw mid-animation. We are not doing anything explicit to cause it to do that though.

              Code:
              isc.HLayout.create({
                  width: "100%",
                  height: "100%",
                  members: [
                      isc.Canvas.create({
                          backgroundColor: "green",
                          width: 50,
                          click: function() {
                              if (this.getWidth() !== 420)
                                this.animateResize(420);
                              else
                                this.animateResize(50);
                          }
                      }),
                      isc.Portlet.create({
                          width: "100%",
                          height: "100%",
                          items: [
                              isc.ListGrid.create({
                                  ID: "dsListGrid",
                                  width: "100%",
                                  height: "100%",
                                  minFieldWidth: 80,
                                  autoFetchData: true,
                                  dataSource: "supplyItem"
                              })
                          ]
                      })
                  ]
              });

              Comment


              • #8
                We've done an initial investigation here and made a couple of small changes which may improve things for you to some degree.
                These changes are in 10.1 and 11.0 only.
                We're continuing to look at this case and see if there are additional steps that would make sense to optimize animation performance in a scenario like this. We'll let you know if we make further changes

                Thanks
                Isomorphic Software

                Comment


                • #9
                  We also had choppy animations from "animateShow", "animateHide", "animateResize", and portlet maximize/minimize/restore are affected as well. I hope this will help in your investigation.
                  If there are any updates to your investigation, may you update us on this post?
                  Thank you!

                  Comment


                  • #10
                    Was this ever resolved ? I have also noticed this lag when dealing with large listgrids full of data
                    Version v12.0p_2019-03-23/PowerEdition Development Only (2019-03-23).
                    It sounds like I have an almost identical issue to the author of this thread
                    Thanks
                    Last edited by SpeeddY; 21st May 2019, 04:07.

                    Comment


                    • #11
                      As the OP noted, the Showcase was already fast, and he was hitting an edge case which we resolved.

                      You haven't indicated whether you've checked on the possible causes we explained above: development tools enabled, too much logging turned on, etc.

                      Comment


                      • #12
                        I have tried different logging priorities in the console to reduce logging-
                        I have also uninstalled browser extensions etc. Didn't see anything in the debugging overview about development tools enabled-

                        Also if I reduce my browser window size enough to get horizontal scrollbars on the ListGrid then I can activate the animation without it forcing redraws through the grid. The grids do have fields with fixed width so not quite the same as the example given above

                        Is there any way I can prevent the redraws from happening before the animation has finished? (at larger window sizes?)
                        I presume the fixes/improvements you mentioned are in the latest release?

                        Thanks for your quick reply

                        Comment


                        • #13
                          Normal behavior is that redraws are deferred until the user stops moving the mouse for a moment. Let us know if you can show a way to reproduce the behavior you're seeing.

                          Comment


                          • #14
                            Apologies posted on the wrong forum chat ~~~~~~~~~~~~~
                            Last edited by SpeeddY; 13th Jun 2019, 07:17.

                            Comment

                            Working...
                            X