Page 1 of 1

Mouse-Wheel / Arrow Key Navigation in Results List is Slow

Posted: 23 Jan 2011, 11:45
by Synetech
Hi,

AllDup's analysis speed is terrific, but navigating the results can excruciatingly slow. Pressing Up/Down takes too long to move to the previous/next item, and scrolling the mouse-wheel scrolls only one line at a time regardless of what it is set to in the system (eg Control Panel->Mouse->Wheel) so you can end up scrolling like crazy in a relatively long list.

I don't know why the keys are slow (you'd have to profile it to find out), but the wheel can be fixed by using SystemParametersInfo() for SPI_GETWHEELSCROLLLINES in OnMouseWheel() to find out the number of lines to scroll.

Raymond Chen has example code in an article on the subject.

HTH

Re: Mouse-Wheel / Arrow Key Navigation in Results List is Sl

Posted: 26 Jan 2011, 13:15
by Administrator
I cant reproduce the slow up/down arrow key performance here at a Vista PC with the current AllDup release.

To speed up mouse scroll speed just press and hold the SHIFT key.

Posted: 28 Dec 2011, 03:08
by Synetech
You can see the problem in the main UI:
  1. Make sure that there are enough items in the Source Folder, Folder Filter, and File Filter (and Search Results) lists to enable the scrollbars
  2. Use the mouse-wheel to scroll each of the list controls (without holding Shift)
  3. Observe responsiveness
You’ll notice that the Source Folders list behaves (and feels) like the Search Results folder; it scrolls 1 row at a time. The Folder Filter and File Filter lists behave and feel like normal OS list controls (eg in Windows Explorer) and scroll (by default) 3 rows at a time (can be configured via Control Panel->Mouse->Wheel). Holding shift scrolls a whole page at a time which can be/is usually too much (the scrollbar use better for scrolling large amounts).

Posted: 28 Dec 2011, 22:00
by Administrator
The Folder Filter and File Filter lists are a listbox control from Microsoft. The Source Folders list and the Search Result is a list control from the company Bennet-Tec. Thats the reason why the scrolling is different. I dont understand why the company dont use the standard scrolling from Microsoft. The list control from Bennet-Tec provides 3 scrolling modes:

Standard mode (Default).
TList will scroll vertically in the same manner as most List/Tree/Grid controls – on a row by row basis.

Smooth mode.
TList will scroll vertically by a specified number of pixels

Intelligent/Mixed mode.
Only the rows that are too tall to be fully displayed within the client view area of TList will be vertically scrolled smoothly, all other rows will be scrolled in the standard row-by-row mode.

AllDup uses the standard mode. I tried the Smooth mode, but this mode dont work with the grid. Nothing changes if i use different pixel values. Sorry, i dont find a alternative solution to change the number of rows for scrolling. I try to contact Bennet-Tec but they want many money for answering questions without any guarantee to fix this problem...

Posted: 29 Dec 2011, 02:37
by Synetech
Ah okay. I did not think to check the window classes; you are right, one is ThunderRT6ListBox and the other is AfxOleControl42. Thanks for pointing that out.

It’s too bad that they did not consider the problem. Have they updated the control to fix it? If not, would an alternative control work? It makes sense that you need a custom list-control for the fancier Source Folders and Search Results lists, but I’m sure I’ve seen some on CodeProject that that should work like the SuperGrid or ConfigurableCtrl. If you do change it, I would imagine that it would take some time to incorporate it, but I for one would be happy to wait for the improvement. :)

Posted: 29 Dec 2011, 16:35
by Administrator
Too much work to replace the grid of the search result. A new grid is nearly the same like a complete rewrite of the app.....

Posted: 30 Dec 2011, 03:04
by Synetech
Okay, I understand. It’s a not huge problem, mostly just when there are thousands of items in the search results; it feels a little uncomfortable to use the wheel, but the scrollbar can work. 8)

Posted: 01 Jan 2012, 01:55
by Synetech
Problem fixed. It feels smooth now. Nice work. :D