Hello,
This new FileExplorer control is very, very, very slow to open folders with a lot of files in Internet Explorer 7. Testing with a folder with 1000 jpg files, 4Kb each file, take more than 5 minutes to open in a machine with Dual Xeon processor and SAS 15K speed disk and causes iexplorer process to consume much cpu.
With Firefox works very fast.
Regards,
Newton
7 Answers, 1 is accepted
The file explorer control uses client databinding to display the files and folders in the grid. Because of that, its speed is very dependant on the browser used. Internet Explorer 7 is by far the slowest performer when it comes to client speed. Make sure that you are using the Q1 2009 release of the FileExplorer control, since it has a specific optimization for IE rendering.
We also plan to offer a treeview-only mode in the FileExplorer, where you will see both folders and files in the treeview, eliminating the slow grid.
All the best,
Lini
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
Best wishes,
Lini
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
Since version Q1 2009 SP2, RadFileExplorer offers a paging functionality to improve the controls performance. To enable this functionality you need to set RadFileExplorer's AllowPaging property to true and then you can use PageSize property to determine the number of the displayed items.
Kind regards,
Dobromir
the Telerik team
I'm having the same issue in my CMS which uses the ImageManager, which in turn uses the RadFileExplorer, which takes too long to load files when the folder has too a lot of images (eg. 1000+, there is no way round it).
So I created a test website to investigate this issue. In IIS for this website, it has a virtual directory called "assets" which is mapped to another folder called "assets" Azure fileshare (eg. \\myfileshare.file.core.windows.net\assets)
Therefore to access the files from my test website, you can just go to "www.abc.com/assets/bob.jpg".
In my test website, I have two methods of viewing files from my file share.
The 1st is the RadFileExplorer:
cntrlRadFileExplorer.Configuration.ViewPaths = New String() {myVirtualPath}
cntrlRadFileExplorer.Configuration.UploadPaths = cntrlRadFileExplorer.Configuration.ViewPaths
cntrlRadFileExplorer.Configuration.DeletePaths = cntrlRadFileExplorer.Configuration.ViewPaths
The 2nd is just a button which when clicked will do this:
Protected Sub btnTestDirectoryInfo_Click(sender As Object, e As System.EventArgs) Handles btnTestDirectoryInfo.Click
'Testing this using DirectoryInfo because Telerik says the RadFileExplorer's content provider uses the GetFiles and GetDirectories methods of the "System.IO.DirectoryInfo" - http://www.telerik.com/forums/virtual-directory-not-working-with-radfileexplorer
Dim myDirectoryInfo As System.IO.DirectoryInfo = New System.IO.DirectoryInfo(myPhysicalPath)
Dim myFileInfo As System.IO.FileInfo() = myDirectoryInfo.GetFiles("*.*")
Dim myFolders As System.IO.DirectoryInfo() = myDirectoryInfo.GetDirectories()
For Each x In myFileInfo
txtFiles.Text &= x.FullName & vbCrLf
Next
End Sub
The 2nd method list all the files almost instantly no matter how many files is in the assets directory, however the 1st method with the RadFileExplorer takes too long when there is lots of files, with less files it works fine.
I have search throughout the web and lots of articles here and still have not found a solution. Some suggested creating a new FileProvider for the RadFileExplorer which I have tried, for example, I created a new provided called "ExtentedFileProvider.vb" and overriden the "Resolve Directory" method:
Public Overloads Overrides Function ResolveDirectory(ByVal path As String) As Telerik.Web.UI.Widgets.DirectoryItem
'get the directory information
Dim baseDirectory As Telerik.Web.UI.Widgets.DirectoryItem = MyBase.ResolveDirectory(path)
'remove files that we do not want to see
Dim files As New System.Collections.Generic.List(Of Telerik.Web.UI.Widgets.FileItem)()
For Each file As Telerik.Web.UI.Widgets.FileItem In baseDirectory.Files
If Not file.Name.StartsWith("Blue") Then
files.Add(file)
End If
Next
Dim newDirectory As New Telerik.Web.UI.Widgets.DirectoryItem(baseDirectory.Name, baseDirectory.Location, baseDirectory.FullPath, baseDirectory.Tag, baseDirectory.Permissions, files.ToArray(), baseDirectory.Directories)
'return the updated directory information
Return newDirectory
End Function
But I'm not sure how you can change this to improve performance? Since it uses the base "ResolveDirectory" method to recurive loop itself. Is there anyway I can chagne it to use the standard System.IO.DirectoryInfo to get a list of file instead?
Sorry, reposted it as my last comment were missing linebreaks.
Has anyone solved this yet?
I'm having the same issue in my CMS which uses the ImageManager, which in turn uses the RadFileExplorer, which takes too long to load files when the folder has too a lot of images (eg. 1000+, there is no way round it).
So I created a test website to investigate this issue. In IIS for this website, it has a virtual directory called "assets" which is mapped to another folder called "assets" Azure fileshare (eg. \\myfileshare.file.core.windows.net\assets)
Therefore to access the files from my test website, you can just go to "www.abc.com/assets/bob.jpg".
In my test website, I have two methods of viewing files from my file share.
The 1st is the RadFileExplorer:
cntrlRadFileExplorer.Configuration.ViewPaths = New String() {myVirtualPath}
cntrlRadFileExplorer.Configuration.UploadPaths = cntrlRadFileExplorer.Configuration.ViewPaths
cntrlRadFileExplorer.Configuration.DeletePaths = cntrlRadFileExplorer.Configuration.ViewPaths
The 2nd is just a button which when clicked will do this:
Protected Sub btnTestDirectoryInfo_Click(sender As Object, e As System.EventArgs) Handles btnTestDirectoryInfo.Click
'Testing this using DirectoryInfo because Telerik says the RadFileExplorer's content provider uses the GetFiles and GetDirectories methods of the "System.IO.DirectoryInfo" - http://www.telerik.com/forums/virtual-directory-not-working-with-radfileexplorer
Dim myDirectoryInfo As System.IO.DirectoryInfo = New System.IO.DirectoryInfo(myPhysicalPath)
Dim myFileInfo As System.IO.FileInfo() = myDirectoryInfo.GetFiles("*.*")
Dim myFolders As System.IO.DirectoryInfo() = myDirectoryInfo.GetDirectories()
For Each x In myFileInfo
txtFiles.Text &= x.FullName & vbCrLf
Next
End Sub
The 2nd method list all the files almost instantly no matter how many files is in the assets directory, however the 1st method with the RadFileExplorer takes too long when there is lots of files, with less files it works fine.
I have search throughout the web and lots of articles here and still have not found a solution. Some suggested creating a new FileProvider for the RadFileExplorer which I have tried, for example, I created a new provided called "ExtentedFileProvider.vb" and overriden the "Resolve Directory" method:
Public Overloads Overrides Function ResolveDirectory(ByVal path As String) As Telerik.Web.UI.Widgets.DirectoryItem
'get the directory information
Dim baseDirectory As Telerik.Web.UI.Widgets.DirectoryItem = MyBase.ResolveDirectory(path)
'remove files that we do not want to see
Dim files As New System.Collections.Generic.List(Of Telerik.Web.UI.Widgets.FileItem)()
For Each file As Telerik.Web.UI.Widgets.FileItem In baseDirectory.Files
If Not file.Name.StartsWith("Blue") Then
files.Add(file)
End If
Next
Dim newDirectory As New Telerik.Web.UI.Widgets.DirectoryItem(baseDirectory.Name, baseDirectory.Location, baseDirectory.FullPath, baseDirectory.Tag, baseDirectory.Permissions, files.ToArray(), baseDirectory.Directories)
'return the updated directory information
Return newDirectory
End Function
But I'm not sure how you can change this to improve performance? Since it uses the base "ResolveDirectory" method to recurive loop itself. Is there anyway I can chagne it to use the standard System.IO.DirectoryInfo to get a list of file instead?
Then RadFileExplorer is used in Thumbnails mode it uses the original image to create the thumbnails dynamically, thus the it performance depends on the size and the count of the loaded images. This issue and the possible ways to optimize the control's performance are explained in details in the following forum thread, so you can consider implementing the suggested workarounds in your ImageManager
http://www.telerik.com/forums/performance-drop-with-explorermode-thumbnails
In addition, you can also take a look at the optimization approaches suggested in this forum thread:
http://www.telerik.com/forums/image-manager-loads-slow-4aa92cf19fba
I hope this helps.
Regards,
Vessy
Telerik by Progress