[ https://issues.apache.org/jira/browse/PIVOT-796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13418429#comment-13418429 ]
Thomas Guretzki commented on PIVOT-796: --------------------------------------- Would have to look at your code, but I'm pretty busy at the moment. How long could that wait? I haven't built my changes into a 2.0.2 Pivot yet... > TerraFileBrowserSheetSkin: improve user experience with slow drives > ------------------------------------------------------------------- > > Key: PIVOT-796 > URL: https://issues.apache.org/jira/browse/PIVOT-796 > Project: Pivot > Issue Type: Improvement > Components: wtk-terra > Affects Versions: 1.1, 1.2, 1.3, 1.4, 1.5, 2.0 > Environment: Windows with Network (SMB-) drives attached and/ or > special drives like card reader drive letters or virtual cd drives > Reporter: Thomas Guretzki > Assignee: Roger Whitcomb > Priority: Minor > Labels: patch > Fix For: 2.1 > > Attachments: terra_file_browser_skin_RefreshIndicator.patch > > Original Estimate: 1.5h > Remaining Estimate: 1.5h > > The current TerraFileBrowserSheetSkin blocks quite often on the UI Thread > when reading the list of root directory after each directory change, and when > refreshing the file list of directories on slow drives. > On Windows, the reason seems to be that reading file attributes of those > drives (especially isDirectory()) is quite slow. This has a number of > consequences: > - Retreiving the list of files on slow drives freezes the UI, and users don't > necessarily realize that the system is still working > - Sorting of the retreived files is quite slow, as the FileComparator keeps > refreshing those attributes > - After each directory change in the FileBrowser, users have to wait until > the complete list of drive letters (root directories) has been refreshed. > This also happens on local drives. > In response to these problems, I've enhanced TerraFileBrowserSheetSkin in a > number of ways: > - FileComparator caches file attributes, leading to approx. 70% decrease in > file refresh time > - refreshing the drive letter list uses dedicated tasks, so the user doesn't > have to wait for the slow drives to respond > - while drive letters are refreshed, a small ActivityIndicator next to the > ListButton is displayed > - while the file list is refreshed, an ActivityIndicator is display instead > of an empty file list > - the responsibility of RefreshFileListTask has been extended to include > sorting the files, as this used to take roundabout 50% of refreshing time and > to freeze the UI > - changing the sort while RefreshFileListTask is running is now supported > The patch, including a few extensions of the bxml file, is attached to this > ticket -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira