Try to batch changes that cause re-rendering so that the rendering only happens once at the end.

For example, changing a field value in a record will immediately update the grid. If you want to update several fields it's more efficient to batch them:

Code:
record.beginEdit();

record.set('name', 'Tom');
record.set('age', 17);
record.set('member', true);

record.endEdit();
The more fields you change the more noticeable the effect will be.

Another example is adding components to a container. The container will recalculate its layout every time add() is called. Passing multiple items to the same add() call will be much more efficient.

Code:
// slow
container.add(panel);
container.add(button);
container.add(grid);

// fast
container.add(panel, button, grid);

// using an array, also fast
container.add([panel, button, grid]);
In cases where no other batching mechanism exists it can help to suspend layouts temporarily:

Code:
container.suspendLayout = true;

doSomethingThatCausesLotsOfLayoutChanges();

container.suspendLayout = false;
container.doLayout();