-
17 Feb 2013 12:07 PM #1Sencha - Community Support Team
- Join Date
- Nov 2007
- Location
- Helsingborg, Sweden
- Posts
- 2,460
- Vote Rating
- 56
Sluggish mouseover effect tree/grid
Sluggish mouseover effect tree/grid
There's way too much processing going on when moving the mouse over a tree or grid. If I record half a second of moving my mouse over a row or two, I see _thousands_ of function calls logged in the FB profiler. Try this in Chrome, you'll see a noticeable lag with the row hover effect - which is insane, considering it's Chrome, and a Tree with 10 rows. Only option seems to be to disable trackOver to avoid the poor impression.
-
17 Feb 2013 12:15 PM #2
It's not slow. It delays actually setting the class until the mouse movement settles
If you are scrolling quickly it will not frantically add and remove classes (each of which will cause a layout)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
-
17 Feb 2013 12:39 PM #3Sencha - Community Support Team
- Join Date
- Nov 2007
- Location
- Helsingborg, Sweden
- Posts
- 2,460
- Vote Rating
- 56
It's _perceived_ as extremely sluggish. Do a side by side with 3.x and you'll feel it, huge difference. Couldn't the hover effect just use good old :hover for good browsers to save all the event firing?
-
17 Feb 2013 12:45 PM #4
-
18 Feb 2013 12:37 AM #5
Well that's possible. But trackMouseOver adds a class and fires events which form part of an API which is in wide use.
If all you need in your app is a hover state, then you could use
and addCode:trackMouseOver: false
Code:.x-grid-row:hover .x-grid-cell { background-color: whatever; }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
-
18 Feb 2013 12:40 AM #6Sencha - Community Support Team
- Join Date
- Nov 2007
- Location
- Helsingborg, Sweden
- Posts
- 2,460
- Vote Rating
- 56
Just saying, my guess is that a newcomer to Sencha/Ext may perceive the 4.2 hover delay as a poorly performing grid.
-
18 Feb 2013 1:02 AM #7
Check the mouseOverOutBuffer config on Ext.view.View
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
-
18 Feb 2013 7:00 AM #8
I agree with mankz it "feels" sluggish and that's something my users will jump on quickly.
-
18 Feb 2013 8:55 AM #9
You can set mouseOverOutBuffer to false either in configuration, or in an override.
But we can move the default from 50ms buffer down to say 20 to speed up the perceived response while still hopefully not adding and removing hundreds of times while scrolling.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
-
18 Feb 2013 9:09 AM #10Sencha - Community Support Team
- Join Date
- Nov 2007
- Location
- Helsingborg, Sweden
- Posts
- 2,460
- Vote Rating
- 56
How about buffering the row hover at the first detected scroll? Or maybe only buffer row-hover for buffered grids?
Success! Looks like we've fixed this one. According to our records the fix was applied for
EXTJSIV-8719
in
4.2.0 Sprint 4 (GA).


Reply With Quote