by C1879 (Posted Tue Dec 13, 2016 1:01 am)
When I'm viewing a folder with a few thousand files, I sometimes multiple select a few hundred files via shift right arrow. If I delete those files by hitting the delete key, XnViewMP goes CPU bound for several seconds to a minute.
I grabbed Process Monitor from http://www.sysinternals.com to try to get some insight into the problem. As expected, XnViewMP moved the files to my recycle bin. But then it did the following:
Loop
QueryDirectory of all the files in the current folder
Loop hundreds of times
RegOpenKey HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume SUCCESS Desired Access: Read
RegQueryKey HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume SUCCESS Query: HandleTags, HandleTags: 0x0
RegOpenKey HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume\{f
RegCloseKey HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume SUCCESS
RegQueryValue HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume\{f4ba03b0-de78-44ea-965c-70812c25a660}\Generation SUCCESS Type: REG_DWORD, Length: 4, Data: 3
RegCloseKey HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume\{f4ba03b0-de78-44ea-965c-70812c25a660} SUCCESS
End Loop
End Loop
I understand that XnViewMP doesn't call these Windows API directly. But it almost seems as thought it is querying the entire current folder once for each file I deleted. That seems very inefficient.
Comments?
Read Main Topic
When I'm viewing a folder with a few thousand files, I sometimes multiple select a few hundred files via shift right arrow. If I delete those files by hitting the delete key, XnViewMP goes CPU bound for several seconds to a minute.
I grabbed Process Monitor from http://www.sysinternals.com to try to get some insight into the problem. As expected, XnViewMP moved the files to my recycle bin. But then it did the following:
Loop
QueryDirectory of all the files in the current folder
Loop hundreds of times
RegOpenKey HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume SUCCESS Desired Access: Read
RegQueryKey HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume SUCCESS Query: HandleTags, HandleTags: 0x0
RegOpenKey HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume\{f
RegCloseKey HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume SUCCESS
RegQueryValue HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume\{f4ba03b0-de78-44ea-965c-70812c25a660}\Generation SUCCESS Type: REG_DWORD, Length: 4, Data: 3
RegCloseKey HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume\{f4ba03b0-de78-44ea-965c-70812c25a660} SUCCESS
End Loop
End Loop
I understand that XnViewMP doesn't call these Windows API directly. But it almost seems as thought it is querying the entire current folder once for each file I deleted. That seems very inefficient.
Comments?
Read Main Topic