GP SoftwareTwitter
Opus FAQsManualCommandsObjects

Search performance major issue (F3)


#2

By default, F3 just puts the focus on the search field at the top-right of the default toolbar.

Sounds like your D3 does something else; what does it do? (Opening the Find panel or a layout with the Find panel open or something like that?)


#3

It just opens the Find Panel. F3 has always opened the Find Panel for as long as i can remember, it does not change lister layout or anything, just open the panel at the bottom of whatever lister window i am focused on.

Opening from the default tollbar > Tools has the same effect. Lockup for 5 minutes. :frowning:

Thanks for any help.


#4

I have a button:

CLI QUICKSEARCH

That works without fault. FYI


#5

This is how it opens:

Opening the Find Tool through whatever method takes 5 minutes.

I just can't think of a change i have made that could affect this functionality.


#6

Is there high CPU usage while you wait for the Find panel to open?


#7

Yes, 25%, considering my CPU spec that is large.

(quad core Ivy bridge i5-3570K @ 4.5 Ghz)


#8

See if this reveals anything: How to find components causing high CPU usage.

Also, does this happen every time you open the Find panel in a given window, or just the first time?


#9

[quote="leo"]See if this reveals anything: How to find components causing high CPU usage.

Also, does this happen every time you open the Find panel in a given window, or just the first time?[/quote]

I'll check that link out.

It happens every time i open the find panel. It does not matter if it is in a empty folder with no sub folder or on a main root folder with 1000s of subfolders.

Basically i happens every time no matter what the circumstances are.


#10

Hmmm... I hope this makes more sense to you than me!

This was taken after attempting to open Find Panel. Prior to attempting to open Find Panel this window had 3 entries in it.

STACK:

[quote]ntoskrnl.exe!KeWaitForMultipleObjects+0xc0a
ntoskrnl.exe!KeAcquireSpinLockAtDpcLevel+0x732
dopuslib.dll!DummyDllFunctionToAvoidSymbolConfusion+0x6386b
dopuslib.dll!stricmpnW+0x3b
dopus.exe+0x2d1534
dopus.exe+0x2d1590
dopus.exe+0x2ce9cf
dopus.exe+0x2d6251
dopus.exe+0x2d6349
dopus.exe+0x1978e0
dopus.exe+0x2d314e
dopus.exe+0x2e96c6
dopus.exe+0x2cd863
dopus.exe+0x2cd945
dopus.exe+0x2cdbac
dopus.exe+0x2cda75
dopus.exe+0x2123b6
dopus.exe+0x211ca8
USER32.dll!DestroyMenu+0x13f
USER32.dll!GetCapture+0x1c2
USER32.dll!GetCapture+0xf2
USER32.dll!GetSystemMetrics+0x2b1
USER32.dll!IsDialogMessageW+0x19b
USER32.dll!IsDialogMessageW+0x1e1
ntdll.dll!KiUserCallbackDispatcher+0x1f
USER32.dll!IsDialogMessageW+0x20a
USER32.dll!GetDlgItemTextW+0x9c
USER32.dll!CreateDialogIndirectParamAorW+0x5b
USER32.dll!CreateDialogIndirectParamW+0x18
dopus.exe+0x471de2
dopus.exe+0x46c8f6
dopus.exe+0x211844
dopus.exe+0x5a03d8
dopus.exe+0x5a0730
dopus.exe+0x59fc98
dopus.exe+0x59f696
USER32.dll!SetPropW+0xe1
USER32.dll!IsDialogMessageW+0x19b
USER32.dll!GetUserObjectInformationW+0x7d5
ntdll.dll!KiUserCallbackDispatcher+0x1f
USER32.dll!GetUserObjectInformationW+0x17a
USER32.dll!GetUserObjectInformationW+0x5f7
USER32.dll!GetUserObjectInformationW+0x338
USER32.dll!CreateWindowExW+0x70
dopus.exe+0x554b
dopus.exe+0x59ed13
dopus.exe+0x59f01f
dopus.exe+0x5af161
USER32.dll!GetSystemMetrics+0x2b1
USER32.dll!CallWindowProcW+0x9c
USER32.dll!CallWindowProcW+0x18
COMCTL32.dll!CreateUpDownControl+0x254d
COMCTL32.dll!DefSubclassProc+0x2b4
COMCTL32.dll!DefSubclassProc+0x7c
dopus.exe+0x3e142
dopus.exe+0xbce7b
COMCTL32.dll!DefSubclassProc+0x2b4
COMCTL32.dll!DefSubclassProc+0x7c
dopus.exe+0x381930
COMCTL32.dll!DefSubclassProc+0x2b4
COMCTL32.dll!DefSubclassProc+0x18b
USER32.dll!GetSystemMetrics+0x2b1
USER32.dll!IsDialogMessageW+0x19b
USER32.dll!IsDialogMessageW+0x1e1
ntdll.dll!KiUserCallbackDispatcher+0x1f
USER32.dll!SfmDxSetSwapChainStats+0x1a
USER32.dll!GetMessageW+0x2a
dopus.exe+0x5b4cfa
dopuslib.dll!IsWow64+0x31
dopuslib.dll!DummyDllFunctionToAvoidSymbolConfusion+0x60563
dopuslib.dll!DummyDllFunctionToAvoidSymbolConfusion+0x60617
kernel32.dll!BaseThreadInitThunk+0xd
ntdll.dll!RtlUserThreadStart+0x21
[/quote]

Thanks for your help.


#11

Is this a problem with Directory Opus?


#12

sigh

Well i resolved it myself.

Uninstalled > reinstalled. Issue gone.

Restoring previous configuration in full reintroduced the problem.

Uninstalled > reinstalled > Restored previous configuration minus miscellaneous data, Issue gone.

Not sure really what i have lost in the misc data, but all Opus custom buttons etc seem to function.


#13

Interesting. Do you still have the config backup that includes the miscellaneous data which seemed to trigger the problem?

If you still have it, please zip it up and send it to me as a private message (or to leo@gpsoft.com.au if you prefer) and I'll see if I can work out what it was in the config misc data which was causing the problem.


#14

Hi Leo,

I have this problem too big time (again). I bring up directory opus and it's using 100 percent of one of my cores and it's completely unresponsive. Waited 20 minutes and it's still hung. I will try to uninstall and reinstall. Hopefully that will fix it.

Thanks,

CD


#15

Hi Leo,

Even though the plug-in thread showed little or no CPU utilization, uninstalling it fixed the issue.

That's probably been there for a while for me. I'm going to reinstall the shell plug-in and see if the problem comes back.

Thanks,

CD


#16

I sent the offending config file to leo last night. maybe he'll get something from that.


#17

Many thanks for the config file.

The delay is caused by the ~8,000 file collections your configuration had, which takes a lot of time to process while building the list of collections that you can output the find results to.

It's unusual to have 8 collections let alone 8,000. :slight_smile:

Looking at the collections, it seems that two large directory structures ("DCS Missions" and "My Docs") were re-created as file collections, with each of the thousands of sub-directories below those two folders created as a sub-collection. Was that intentional? What type of thing do you need it for?

I'll see if we can improve the performance in this situation, but I suspect it will cause slow-downs in most areas that deal with collections to have that many.


#18

Leo thank you very much.

It was intentional, but from what you have said i need to read up on 'file collections' as i am clearly misunderstanding their intention. To be honest i was using them as a bit like 'favourites'. Those folder you mentioned had several wordpress web sites, while not large is size, they contain 1000s of small files each, include a few backups and yes.. that is a lot of files to process.

I'll read the section regarding file collections in the manual.

Thank you very much again for you feedback.. as there is no doubt i would have ended up doing something stupid with 'file collections' in the near future.


#19

Ah okay, if you want to use collections as a way to store lists of favorites, just make sure that when you add a folder to a collection you add it as a Member and not as a Sub-Collection.

Adding it as a member means the parent collection just stores a single item which is pointing to the directory, and if you double-click that item you will go to the real directory.

Adding it as a sub-collection means that you create another collection which stores items pointing at every file in the folder, plus (recursively) additional sub-collections which point to all the files and folders (in yet more sub-collections) below that folder.

(Alternatively, you can store favorites in the actual Favorites menu, or access them via Folder Tab Groups, Styles, Layouts or Aliases, or by creating toolbar buttons / menus / hotkeys which go to the folders you want. All worth looking into if you don't know about them already. Maybe you already use some but they don't make sense for this particular task. Which is best depends on how you want things to work.)


#20

Well i've just read the 'file collections' section in the "Directory Opus 10 Reference Manual", nothing there really gave me the impression that what i did was extraordinary. Yes it is called 'file' collection, but the manual does talk about directories and sub directories.

I'd strongly suggest some sort of explanation or warning about large file collections and possible performance impact in the manual.

Thanks again Leo.


#21

[quote="leo"]Ah okay, if you want to use collections as a way to store lists of favorites, just make sure that when you add a folder to a collection you add it as a Member and not as a Sub-Collection.

Adding it as a member means the parent collection just stores a single item which is pointing to the directory, and if you double-click that item you will go to the real directory.

Adding it as a sub-collection means that you create another collection which stores items pointing at every file in the folder, plus (recursively) additional sub-collections which point to all the files and folders (in yet more sub-collections) below that folder.

(Alternatively, you can store favorites in the actual Favorites menu, or access them via Folder Tab Groups, Styles, Layouts or Aliases, or by creating toolbar buttons / menus / hotkeys which go to the folders you want. All worth looking into if you don't know about them already. Maybe you already use some but they don't make sense for this particular task. Which is best depends on how you want things to work.)[/quote]

Arrrh thanks leo, noted.

I never really did know the difference between 'members' and 'sub-collections'. Thnaks