If you're doing something like this:
Code:
var ct = new Ext.container.Container({
renderTo: document.body
});
for (var i = 0; i < 100; ++i) {
ct.add({});
}
It will trigger 100 layouts, which may cascade up. Instead, do something like this:
Code:
var ct = new Ext.container.Container({
renderTo: document.body
});
Ext.suspendLayouts();
for (var i = 0; i < 100; ++i) {
ct.add({});
}
Ext.resumeLayouts(true);
Similarly, if you're doing some kind of bulk operation on a view:
Code:
store.forEach(function(rec){
rec.set('someField', rec.get('someField') + 1); // triggers n row updates
});
Code:
store.suspendEvents();
store.forEach(function(rec){
rec.set('someField', rec.get('someField') + 1); // triggers n row updates
});
store.resumeEvents();
grid.getView().refresh();
Also see: http://www.sencha.com/blog/ext-js-4-1-performance