1. #1
    Sencha - GXT Dev Team darrellmeyer's Avatar
    Join Date
    May 2007
    Location
    Washington, DC
    Posts
    2,242
    Vote Rating
    2
    darrellmeyer is on a distinguished road

      0  

    Default Performance Performance Performance

    Performance Performance Performance


    As many of you know, in certain areas, GXT performs noticable slower than Ext JS. Improving performance has been a high priority. There have been some new changes I wanted to share.

    TabPanel
    TabPanel has been improved in 3 places.

    1. TabItems are now only rendered when the tab is selected, not when it is added.
    2. When switching tabs, the active tab does not execute its layout if it has already been rendered and the size of the panel has not been changed.
    4. CardLayout, which tab panel uses, now will only render the active child.

    With the new code, the tab panel renders faster, and tabs are added quicker. The most noticeable change is when switching tabs, which now happens with no delay. Also, the scroll state of tab items is now preserved when swithing between tabs

    BoxComponent

    BoxComponent calls onResize whenever it is resized. Many subclasses recalculate their internal layout by overriding onResize. The call to onResize now only occurs if the the size since the last resize has changed. So if a component is resized to by 100 by 100 onResize will be called if. If the comonent is resized again, with 100 by 100, onResize will not be called.

    I have put the explorer demo online with the new code. Take a look here:

    http://extjs.com:8080/explorer2/#overview

    We will continue to work on improving performance as there are still places that can be optimized.

  2. #2
    Ext GWT Premium Member gslender's Avatar
    Join Date
    Mar 2008
    Location
    Brisbane, Australia
    Posts
    1,572
    Vote Rating
    3
    gslender is on a distinguished road

      0  

    Default


    Darrell, I believe you know this, but table and tree are killing me (us)... I guess this won't be resolved until you start the replacement code (aka Grid)...??

    True?

  3. #3
    Ext User
    Join Date
    Apr 2008
    Posts
    30
    Vote Rating
    0
    abickford is on a distinguished road

      0  

    Default Broken in FF

    Broken in FF


    If you go to http://extjs.com:8080/explorer2/#tabpanel in FireFox and scroll a little bit in the first tab, there are some serious refresh issues. The slower the scrolling, the worse it is. Seems ok in IE (7).

  4. #4
    Ext User
    Join Date
    Apr 2008
    Posts
    30
    Vote Rating
    0
    abickford is on a distinguished road

      0  

    Default Tables broken in FireFox as well

    Tables broken in FireFox as well


    If you go to http://extjs.com:8080/explorer2/#basictable in FireFox, hide a column and then show it again, the table is in an unusable state. For example, if you hide the column "last" and then hide the column "change" then try to set "last" visible, followed by setting "change" visible, you end up w/2 header rows.

  5. #5
    Ext User
    Join Date
    Apr 2008
    Posts
    30
    Vote Rating
    0
    abickford is on a distinguished road

      0  

    Default


    It appears http://extjs.com:8080/explorer2/#treetable suffers from the same column problem.

  6. #6
    Sencha - GXT Dev Team darrellmeyer's Avatar
    Join Date
    May 2007
    Location
    Washington, DC
    Posts
    2,242
    Vote Rating
    2
    darrellmeyer is on a distinguished road

      0  

    Default


    There were some big changes made to layouts recently. This has resulted in much faster performance and rendering. The explorer2 code has been updated.

    If you go to http://extjs.com:8080/explorer2/#tabpanel in FireFox and scroll a little bit in the first tab, there are some serious refresh issues. The slower the scrolling, the worse it is. Seems ok in IE (7).
    Looks like a firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=361768. I am trying to find a fix.
    If you go to http://extjs.com:8080/explorer2/#basictable in FireFox, hide a column and then show it again, the table is in an unusable state. For example, if you hide the column "last" and then hide the column "change" then try to set "last" visible, followed by setting "change" visible, you end up w/2 header rows.
    Fixed.
    It appears http://extjs.com:8080/explorer2/#treetable suffers from the same column problem.
    Fixed.

  7. #7
    Ext User sheesh-kebab's Avatar
    Join Date
    Jan 2008
    Location
    Washington, DC/Falls Church, VA
    Posts
    40
    Vote Rating
    0
    sheesh-kebab is on a distinguished road

      0  

    Default


    it seems like performance is getting better (at least it's getting snappier on my dev 4cpu 8gig system ). seriously, explorer2 preview is noticeable faster than what I remember.

  8. #8
    Ext User sheesh-kebab's Avatar
    Join Date
    Jan 2008
    Location
    Washington, DC/Falls Church, VA
    Posts
    40
    Vote Rating
    0
    sheesh-kebab is on a distinguished road

      0  

    Default


    this past week I got a chance to use somewhat slow non-us broadband internet connection. Of course, I couldn't resist and hit a few GWT apps to try out their performance - including GXT explorer demo. Unfortunately, performance of the GXT Explorer demo was rather poor - and from what I saw mostly related unoptimized css and image download (absent use of image bundles for various controls and unoptimized css and lack of expires header (http://developer.yahoo.com/performan...s.html#expires) ).

    I think it would be worthwhile to take a look at some of these issues in the next round of optimizations...

  9. #9
    Ext User
    Join Date
    Apr 2008
    Posts
    376
    Vote Rating
    0
    zaccret is on a distinguished road

      0  

    Default


    I have also noticed the absent use of image bundles. I guess it would be a great performance improvement to use these.

  10. #10
    Ext User
    Join Date
    Jun 2008
    Posts
    1
    Vote Rating
    0
    Maerch is on a distinguished road

      0  

    Default


    Unfortunately the 'explorer2'-demo isn't online anymore.

    I am trying to evaluate this framework for our company, so i have two little questions about this issue:

    * Darrel, do you believe that the Ext-GWT performance will be comparable to Ext JS's or will it have always performance "problems" because of the nature of GWT?

    * If you believe that it could be performant, what do you think when you will achieve this goal. Are you trying to pool your strenghts to adding features to be comparable to EXT JS in the 1.x versions or will be the performance the bigger issue for you?

    Thank you!
    Maerch