1. #1
    Sencha Premium Member
    Join Date
    Oct 2012
    Location
    Sutton, UK
    Posts
    36
    Answers
    1
    Vote Rating
    0
    lenny87 is on a distinguished road

      0  

    Default Unanswered: Store and Grid Poor Performance Windows 8

    Unanswered: Store and Grid Poor Performance Windows 8


    I have a system which has a reasonable large store (less than 1000 entries) and loads this store into a grid panel. On my mac running all browsers it runs fine and performs admirably (generally under 4 seconds to display the panel on screen).

    However, when running on a Windows 8 machine using IE10 the exact same grid panel can take up to 30 minutes to render on screen instead of 3 or 4 seconds.

    I have played around with store features such as the purgePageCount and PageSize with no success.

    Just wondering if anyone else has suffered similar performance issues and can shed any light on how to improve the performance.

    Thanks in advance for your help.

  2. #2
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    36,824
    Answers
    3470
    Vote Rating
    836
    mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute

      0  

    Default


    If you have 1000 records, are you using buffered or infinite grids?
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Forum Manager
    ________________
    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!

    When posting code, please use BBCode's CODE tags.

  3. #3
    Ext JS Premium Member
    Join Date
    Apr 2008
    Posts
    358
    Answers
    1
    Vote Rating
    15
    rich02818 is on a distinguished road

      0  

    Default


    Can you try the Chrome and/or FireFox on the Win8 machine and post the results?

  4. #4
    Sencha Premium Member skirtle's Avatar
    Join Date
    Oct 2010
    Location
    UK
    Posts
    3,590
    Answers
    541
    Vote Rating
    322
    skirtle has a brilliant future skirtle has a brilliant future skirtle has a brilliant future skirtle has a brilliant future skirtle has a brilliant future skirtle has a brilliant future skirtle has a brilliant future skirtle has a brilliant future skirtle has a brilliant future skirtle has a brilliant future skirtle has a brilliant future

      0  

    Default


    Testing against other versions of IE could also be interesting.

    If it's a problem with IE 10 only then it may be fixed in 4.2.0. That hasn't been released yet but there's a beta available if you want to confirm.

    4.2 will also have buffered rendering, which should help with 1000 records, but you should be able to do much better than 30 minutes for 1000 records even with standard grid rendering. 30 minutes is ridiculous.

  5. #5
    Sencha Premium Member
    Join Date
    Oct 2012
    Location
    Sutton, UK
    Posts
    36
    Answers
    1
    Vote Rating
    0
    lenny87 is on a distinguished road

      0  

    Default


    Only issue is with IE10. I have a buffered grid.

    Yes 30 minutes is ridiculous. Also as I am loading the whole data set even when displaying a small number of records the load time can be upto 20 minutes.

    The code for my store is

    Code:
    this.mAlertStores[title]=Ext.create('Ext.data.Store', {
                autoLoad : false,
                fields   : [
                    {name: 'alert_id', type: 'int'},
                    {name: 'source_id', type: 'auto'},
                    {name: 'external_id', type: 'auto'},
                    {name: 'manager', type: 'auto'},
                    {name: 'source', type: 'auto'},
                    {name: 'class', type: 'auto'},
                    {name: 'agent', type: 'auto'},
                    {name: 'agent_location', type: 'auto'},
                    {name: 'type', type: 'auto'},
                    {name: 'severity', type: 'int',convert: severityConverter},
                    {name: 'significance', type: 'int',convert: significanceConverter},
                    {name: 'count', type: 'int'},
                    {name: 'description', type: 'auto'},
                    {name: 'first_occurred', type: 'int' },
                    {name: 'last_occurred', type: 'int'},
                    {name: 'agent_time', type: 'int',convert: dateConverter},
                    {name: 'state', type: 'int',convert: statusConverter},
                    {name: 'owner', type: 'int', convert: uidToUsername},
                    {name: 'entropy', type: 'float'},
                    {name: 'sig_list', type: 'array'}
                ],
                pageSize: 150,
                buffered: true,
                purgePageCount: 0,
                remoteSort: true,
                proxy    : {
                    type            : 'ajax',
                    //
                    // Thanks to IE we now omit this to force a GET request
                    //actionMethods   : MOOG.mAjaxMethod,
                    extraParams     :   {
                                            request: "loadScopedAndFilteredAlerts",
                                            filter: filterString,
                                            sessionId: MOOG.mSessionId
                                        },
                    url             : MOOG.mParameters.appServerUrl(),
                    reader: {
                        type    : 'json',
                        root    : 'alerts',
                        totalProperty: "total"
                    }
                }
    Thanks for all the responses so far.