Request for help: investigating slow VST scanning

Hi everyone,
some users report extreme long start-up times with Dorico due to the VST scanning taking very long time. In order to find out what is behind that and the cause of it, I would like to get some statistical data from as many people as possible.
The idea behind that is to invoke the VST3 scanner on its own from within a command prompt. Then I’d like you to measure how long it takes for the scanning, especially when doing it several times in a row.

So here is what I’d like you to do:

  1. Create on your desktop a new folder DoricoCache
  2. Open a command shell window (Win: cmd.exe; Mac: Terminal.app)
  3. Copy and paste the following line into the shell window, but don’t hit the return/enter key, yet.
"C:\Program Files\Steinberg\Dorico5\VSTAudioEngine\Components\vstscannermaster.exe" "-prefPath" "%USERPROFILE%\Desktop\DoricoCache" "-licenseLevel" "25000" "-hostName" "Dorico 5 AudioEngine"

or for OneDrive users

"C:\Program Files\Steinberg\Dorico5\VSTAudioEngine\Components\vstscannermaster.exe" "-prefPath" "%USERPROFILE%\OneDrive\Desktop\DoricoCache" "-licenseLevel" "25000" "-hostName" "Dorico 5 AudioEngine"

or for Mac users

/Applications/Dorico\ 5.app/Contents/Applications/VSTAudioEngine5.app/Contents/Components/vstscannermaster -prefPath ~/Desktop/DoricoCache  "-licenseLevel" "25000" "-hostName" "Dorico 5 AudioEngine"
  1. Get a stopwatch (e.g. smartphone app) and measure the time between hitting the enter/return key and the program spitting out some xml text. The measuring does not need to be particularly precise, plus minus 5 sec is okay
  2. Write down the measured time
  3. Repeat the measurement by simply pushing the ‘cursor up’ key which brings back the last used command. Hit return/enter and measure again. On repitition I expect much shorter scanning times since the cache file is already there. Write down the measured time again.
  4. Repeat the measurements again 2 or 3 times and write down
  5. Empty the DoricoCache folder on your Desktop and repeat the measurments. Again, we expect one long run and thereafter short runs.

Then please post here the measured times, also indicating if the cache was there or empty, like this: 1 min 13 s EC, 10 s FC where EC is empty cache and FC full cache. The vst3plugins.xml from the cache folder on the Desktop please also post as attachment, or if you don’t like that idea, open that xml file in a webbrowser or text editor and search for how many occurrences of the term
<plugin
can be found, so that I know how many plug-ins got scanned.

For those of you who also have Cubase or Nuendo, it would be fantastic if you could do the same measurements again with those programs. Simply create additionally a CubaseCache or NuendoCache folder on your Desktop and here are the corresponding command lines:

"C:\Program Files\Steinberg\Cubase 14\Components\vstscannermaster.exe" "-prefPath" "%USERPROFILE%\Desktop\CubaseCache" "-licenseLevel" "25000" "-hostName" "Cubase 14"

"C:\Program Files\Steinberg\Nuendo 13\Components\vstscannermaster.exe" "-prefPath" "%USERPROFILE%\Desktop\NuendoCache" "-licenseLevel" "25000" "-hostName" "Nuendo 13"

or

/Applications/Cubase\ 14.app/Contents/Components/vstscannermaster -prefPath ~/Desktop/CubaseCache  "-licenseLevel" "25000" "-hostName" "Cubase 14"
 
/Applications/Nuendo\ 13.app/Contents/Components/vstscannermaster -prefPath ~/Desktop/NuendoCache  "-licenseLevel" "25000" "-hostName" "Nuendo 13"

If you have older versions of Cubase or Nuendo, you simply change the numbers, should be quite easy.

And last but not least, please give the basic spec of your computer, processor type, year of make, OS version.

Thanks a lot for your collaboration.
Ulf

6 Likes

Mac users can just the time function “time”, e.g.,

time /Applications/Dorico\ 5.app/Contents/Applications/VSTAudioEngine5.app/Contents/Components/vstscannermaster -prefPath ~/Desktop/DoricoCache "-licenseLevel" "25000" "-hostName" "Dorico 5 AudioEngine"

Run 1:
|real|0m50.540s|
|user|0m10.333s|
|sys|0m6.564s|

NOTE: the disparity between ‘real’ vs ‘user+sys’ is me having to click “Quit” for unlicensed VSTs

Run 2:
|real|0m0.122s|
|user|0m0.048s|
|sys|0m0.053s|

Run 3:
|real|0m0.184s|
|user|0m0.046s|
|sys|0m0.050s|

2 Likes

Thanks a lot @derAbgang
How many plug-ins do you have?

If this command is accurate:

xmllint --format ./Desktop/DoricoCache/vst3plugins.xml  \
  | grep '<plugin>' | wc -l
      54
1 Like

Also if it wasn’t clear: Run 1 EC; Runs 2 and 3: FC

1 Like

When I run the command, I get:

Preferences path for vstscannermaster not found!

VST3 Plug-Ins are disabled

Check your installation!

However, Dorico functions normally, and I have various third-party VSTs.

I get this on two Macs – both M-series Apple Silicon.

You first need to create the folder on your Desktop

1 Like

@derAbgang, will all of that timing data you posted also be inside the file(s) generated by the terminal command?

Useful safety tip! :flushed: Thanks,.

I get 4.5 seconds first time; instant 2nd time. I have ARIA, SINE, BBCSO, Opus, NP, and various others – 13 in total.

vst3plugins.xml (23.0 KB)

1 Like

On windows 11: 128G RAM, Intel i-something (18-core):

15s EC; < 1s FC


xmllint --format ./vst3plugins.xml  \
  | grep '<plugin>' | wc -l
      38

No, you need to copy/paste that. It gets spit out after the XML gets spit to the screen.

1 Like

@Ulf, I messed up on my first machine and didn’t read down to #8 before running the terminal command three times. That appears to have overwritten the data. But I can report the three times. Is that last captured set sufficient? (Soon I’ll go to my primary machine and run things.)

“Oopsie.” Will I be able to deliver more useful data if I empty that cache folder and do three runs, or have I already “spoiled the soup”?

Just empty the folder and run again

1 Like

What @ulf said :slight_smile:

1 Like

D5: EC 5.7 FC 0.7 FC 0.45
C14: EC 5.73. FC 0.81 FC 0.51
vst3plugins.xml (36.8 KB)

Mac Studio 2023 M2. 32gGb. Seq 15.1

1 Like

One last question: by empty/full status do you simply mean was it the new empty folder on the desktop vs. the later rounds when the file is already there, or are we looking for something “deeper” inside the terminal output?

If the DoricoCache file is empty, that means the cache is empty and thus the scanner needs to scan all plug-ins anew. If the cache folder is not empty, the cache is filled and it only needs to scan newly added plug, and therefore shall run much much faster.
I’m not interested in what the command window spits out, only the vst3plugins.xml from the folder.

1 Like

I don’t have issues with delay, but do you still want data from me. Also, for oneDrive users, the Desktop requires a longer string with “\OneDrive” before “\Desktop”

“C:\Program Files\Steinberg\Dorico5\VSTAudioEngine\Components\vstscannermaster.exe” “-prefPath” “%USERPROFILE%\OneDrive\Desktop\DoricoCache” “-licenseLevel” “25000” “-hostName” “Dorico 5 AudioEngine”

Could be useful to give that choice in the original message