Slow right click (already debugged)

Hello there!

I have a consistently slow right click in Directory Opus (which of course goes away if I enable the "hide Windows items" option). It's not very slow (I've seen worse in the past), but it's a consistent 0.5s delay which for some reason I cannot "unsee" anymore... Also, right click in Windows Explorer is almost instantaneous and the delay in Directory Opus is not dependent on the type of the file (constant delay on all files).

I already disabled most third party context menu extensions with ShellExView, and further blocked several CLSIDs with the context_menu_debug/ignore_context_menus options (including the Windows Defender context menu extension which was taking 30ms to complete according to the DebugView log). Now the whole debug log (from --- Shell Context Menu Start --- to End ---) only takes approximately 25ms! So this whole sequence is not the delay I'm seeing (which, again, is more like 0.5s).

So I started looking at Process Monitor traces, and I noticed that this half a second is spent parsing through Microsoft Office AppxManifest.xml files (in C:\Program Files\WindowsApps\Microsoft.Office.*\AppxManifest.xml). In particular, the Microsoft.Office.Desktop_* folder contains a 250KB AppxManifest.xml which takes 184ms to be processed. And then there's another 12 xml files (from other Office apps and other Windows components) which are smaller but their processing ultimately adds up to about 0.5 seconds.

In the attached Procmon log file, the right click happened very close to the first few lines of the log at 19:03:49.360 and the menu appeared close to the end of the log at 19:03:49.808 (there were a bunch of other events after that, but all happened in about 5-10ms, so most of the delay had already happened at 808ms). I couldn't see any other significant activity going on in the Procmon trace, so I don't think that the delays were caused by other processes (and this is an 8-core machine anyway -- no other heavy processes running). Also, note that most of the delay always happens near the CloseFile of an AppxManifest.xml file, so it must be a slow processing of the big xml files.

Is there a way to disable/block parsing of those xml files? Or speed up the parsing? It did seem that the reading of those files was done by dopus.exe itself (and not from any third-party DLL), but I do have the original Procmon trace file with the stack traces for each event if needed.

Thanks!
Dan

Logfile_slowrightclick.txt (134.8 KB)

2 Likes

Thanks for the report and your detailed analysis!

The XML files are being read as part of the support we added recently for Microsoft's most recent addition to the vast number of ways context menus can be added to the system. On my machine they don't seem to take anywhere near that long to parse but clearly that's not always the case, so we'll see if we can add a caching mechanism for this data in the next update.

Beautiful, thanks for confirming the cause! Do you know exactly in which version the new XML reading was added?

Dan

First added in 12.25.3 beta, and then 12.26 stable release in December last year.

1 Like

Unrelated, and maybe worth a topic of its own... I wanted to try 12.26 while I wait for the new version (told you, I can't unsee the delay haha), but I don't see anything for v12 in the old versions page. I am logged in with my registration account (i.e., if I go to Support --> My Account, it goes straight to my personal details), and I tried with both Firefox and Chrome.

Something wrong with the website?

Dan

The old versions page is there so people who didn't upgrade to Opus 12 can still download the latest version of Opus 11. We don't keep older installers for all the point releases online (once a beta version goes stable, that is), but we can provide them if needed.

(I tend to keep the last couple of installers for things I install, which is a good habit.)

If you can hold on a couple of days we should be able to put out a beta this week to address the issue.

Oh I understand now, old major versions! Yeah, I also keep installers sometimes, but unfortunately the auto update feature of Directory Opus works well, so I don't even see the installer file... :stuck_out_tongue:

I can of course totally hold -- sorry, didn't mean to put pressure on you folks!! I was mostly just wondering about what (mistakenly) seemed like missing versions on the website.

Again, no rush! And thanks a lot for the super responsive support, even on a Sunday!!

Dan

The beta version is out which hopefully fixes this, please let us know if you still have an issue after trying it.

Just had a chance to try the new beta, and I can confirm the delay is gone! (I did try the old version before updating and for some reason today I had even more than a .5s delay. First right click on the new beta version was still slow with approx that same "longer-than-.5s" delay, but subsequent clicks are instantaneous!)

Thanks a lot Jon and Leo for the support!

3 Likes