-
5 Mar 2013 6:52 AM #1
Ext 4.2.0.489 - VERY slow tree grid on second load with bufferedrenderer plugin
Ext 4.2.0.489 - VERY slow tree grid on second load with bufferedrenderer plugin
REQUIRED INFORMATION
Ext version tested:- Ext 4.2.0.489
- Firefox 19
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
Description:- With a large tree grid the second load of the store is very slow. (multiple slow script popups)
- Have a tree grid with 5,000 records loaded using the new bufferedrenderer plugin. The first load is very quick (especially compared to 4.1 without the bufferedrenderer)
- Call store.load() on the tree grid's store
- You will see that it takes a minute or two of trying to remove the nodes one by one.
- First of all the suspend/resume layout calls are not being set correctly in the NodeInterface.removeAll function because of the line "treeStore = me.store && me.store.treeStore" because me.store.treeStore is undefined so it never calls treeStore.beginBulkRemove.
- But even with that fixed it will still fire individual remove events which each cause a refresh of the view.
-
7 Mar 2013 9:04 AM #2Sencha - Senior Forum Manager
- Join Date
- Mar 2007
- Location
- St. Louis, MO
- Posts
- 34,117
- Vote Rating
- 453
Thanks for the report! I have opened a bug in our bug tracker.
-
7 Mar 2013 12:20 PM #3
More info needed really.
The examples/tree/buffer-rendered-treegrid.html example works fine.
I can grab a reference to the tree and reload its TreeStore, and it works.Search the forum: http://www.google.com/coop/cse?cx=01...%3Az7of1ufqccu
Read the docs too: http://extjs.com/deploy/dev/docs/
Scope: http://extjs.com/forum/showthread.ph...642#post257642
-
9 Apr 2013 1:59 PM #4
In the examples/tree/buffer-rendered-treegrid.html example load in a set of 5000 records with no groups and you will get the problem.
With the groups it only calls remove on the group that triggers a layout. If there are no groups it calls remove on every single node.
Still happens in 4.2.0.663
-
10 Apr 2013 2:39 AM #5
Same here (Ext 4.2.0.663).
I think it's the remove action, which is called automatically before reload.
If i remove all nodes with the removeAll function of the root node the load action is fast, but the removeAll function call takes more then 4 seconds (with a little bit more than 1000 records).
-
17 Apr 2013 8:13 AM #6
Example
Example
Look here for an example: http://jsfiddle.net/7fxpY/1/
On first load it is fast, but if you click the reload button it is realy very slow (or sometimes the browser will freeze).
I hope it helps.
-
19 Apr 2013 10:32 PM #7
Good find!

In the recent refactor to enable buffered rendering we missed the removeAll pathway. That is still removing each child separately, and updating the view for each one.
This will be fixed.Search the forum: http://www.google.com/coop/cse?cx=01...%3Az7of1ufqccu
Read the docs too: http://extjs.com/deploy/dev/docs/
Scope: http://extjs.com/forum/showthread.ph...642#post257642
-
22 Apr 2013 5:32 AM #8
Awesome, thanks.
Is there no easy workaround for this to only refresh the view once that could be done for now??
-
3 Jun 2013 12:23 AM #9
Not fixed in 4.2.1
Not fixed in 4.2.1
This is not fixed in 4.2.1: http://jsfiddle.net/7fxpY/7/.
This demo is using http://docs.sencha.com/extjs/4.2.1/e...t-all-debug.js and it's the same issue.
-
3 Jun 2013 5:41 AM #10
Success! Looks like we've fixed this one. According to our records the fix was applied for
EXTJSIV-9001
in
4.2.1.


Reply With Quote