pivot-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Guretzki (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (PIVOT-796) TerraFileBrowserSheetSkin: improve User Experience with slow Drives
Date Wed, 28 Sep 2011 08:48:45 GMT
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: 2.0, 1.5, 1.4, 1.3, 1.2, 1.1
         Environment: Windows with Network (SMB-) drives attached and/ or special drives like
card reader drive letters or virtual cd drives
            Reporter: Thomas Guretzki
            Priority: Minor
             Fix For: 2.1


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

        

Mime
View raw message