Results 1 to 7 of 7

Thread: Application performance

  1. #1
    Sencha User
    Join Date
    Aug 2012
    Posts
    16
    Vote Rating
    0
      0  

    Default Unanswered: Application performance

    Hello ,

    At the moment, I design an application with sencha touch 2.1.
    My buttons don't work correctly. When I tap slowly on a button , it works correctly but if I tap normaly on the button it doesn't works every time however I can see that the button is pressed.
    So I thing my application isn't optimized correctly but I don't see why, because I have followed the Sencha's advices to optimise an application

    Cdric

  2. #2
    Sencha User
    Join Date
    Aug 2011
    Location
    London
    Posts
    454
    Answers
    19
    Vote Rating
    22
      0  

    Default pressedDelay?

    Did you try the config: pressedDelay: 0? The default is 100 milliseconds I think....

    Is your DOM heavy, causing your app to be slow (are you using a heavy tabpanel for example)? Once your app is loaded, in your console copy and paste this (right click, inspect element, paste):

    Code:
    document.getElementsByTagName("*").length
    How many items does it say? about 400, or is it closer to 1000? I used an optimized tab panel, removing the DOM items after each tab click and I get an average number of 250.

    Also have a look here:

    http://www.sencha.com/forum/showthread.php?197409-Extending-Ext.Button-for-better-UX-and-responsive-tap

    :
    -)

  3. #3
    Sencha User
    Join Date
    Aug 2012
    Posts
    16
    Vote Rating
    0
      0  

    Default

    unfortunately it's already 0

  4. #4
    Sencha User
    Join Date
    Aug 2012
    Posts
    16
    Vote Rating
    0
      0  

    Default

    I have 626 items.
    Do you think it's too much ?

  5. #5
    Sencha User
    Join Date
    Aug 2011
    Location
    London
    Posts
    454
    Answers
    19
    Vote Rating
    22
      0  

    Default You can improve....

    Depending how your app is structured (how is it structured by the way? Do you have a tabpanel?) you should be able to remove the DOM items that are not visible and it will speed up your app significantly. try that command after clicking around, you might find the number is even higher.

    I had a very heavy tabpanel based app, and performance improved more than 2x after I removed non-visible DOM items

  6. #6
    Sencha User
    Join Date
    Aug 2012
    Posts
    16
    Vote Rating
    0
      0  

    Default

    Thank you for your quick answer.
    In fact, on the Ipad I have never more than 360 items into the DOM.
    I created a new view and I put a simple container with a button in order to test. I marked it in initial view and started my application on my Ipad. And I have the same problem the button works only if I press it slowly.
    However, if I tap quickly it doesn't work but the button is pressed.

    The code of my new view:

    Ext.define('MyApp.view.cntTestReac', {
    extend: 'Ext.Container',

    config: {
    id: 'cntTestReac',
    items: [
    {
    xtype: 'button',
    height: 200,
    id: 'btTestReac',
    itemId: 'mybutton51',
    left: 100,
    top: 100,
    width: 200,
    text: 'Stop'
    }
    ],
    listeners: [
    {
    fn: 'onBtTestReacTap',
    event: 'tap',
    delegate: '#btTestReac'
    }
    ]
    },

    onBtTestReacTap: function(button, e, options) {
    console.log("test news button");
    Ext.Viewport.mask({ xtype: 'loadmask', message:'Chargement...', indicator: true });
    Ext.Viewport.remove(Ext.getCmp("homeContainer"),true);
    var vueStation = Ext.create('MyApp.view.cntSecEtConv', {fullscreen: true});
    Ext.Viewport.add([vueStation]);
    Ext.Viewport.setActiveItem(1);
    }

    });

    Thanks for your help.

    Cdric

  7. #7
    Sencha User
    Join Date
    Aug 2012
    Posts
    16
    Vote Rating
    0
      0  

    Default

    I have also put 0 in the delay of the event but it doesn't work

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •