Windows VSS change detection scan much slower than without

Hi there,
I’m a newbie to restic and absolutely love what I’m seeing so far in terms of it’s capabilities. My restic version is 0.17.3.

On my Windows machine I’m trying to backup folders that have a lot of files in them and noticed how slow it was scanning for changes when compared to a parent. After some debugging, I noticed that the change detection scan was significantly faster when I disabled VSS.

Here are the verbose logs of a couple of dry runs to compare from.

This is the log from a run where VSS was enabled:

./restic.exe backup -r F:\Nextcloud E:\Nextcloud -o sftp.args=-oBatchMode=yes --exclude-caches --tag plan:Nextcloud-Backup --tag created-by:home-server-backup --parent 006c40dfd32474614ab271ead2de92fedede2455332476397bd758d075f30380 --use-fs-snapshot -o vss.timeout=5m --pack-size 128 --verbose --dry-run
open repository
enter password for repository:
repository 814a5cc0 opened (version 2, compression level auto)
created new cache in C:\Users\Administrator\AppData\Local\restic
using parent snapshot 006c40df
load index files
[0:00] 100.00%  3 / 3 index files loaded
start scan on [E:\Nextcloud]
start backup on [E:\Nextcloud]
creating VSS snapshot for [e:\]
successfully created snapshot for [e:\]
scan finished in 460.951s: 67615 files, 4.597 GiB

Files:           0 new,     2 changed, 67613 unmodified
Dirs:            0 new,     6 changed, 297186 unmodified
Data Blobs:      0 new
Tree Blobs:      7 new
Would add to the repository: 19.776 KiB (4.823 KiB stored)

processed 67615 files, 4.597 GiB in 7:40

This is the log from the same run but without VSS:

./restic.exe backup -r F:\Nextcloud E:\Nextcloud -o sftp.args=-oBatchMode=yes --exclude-caches --tag plan:Nextcloud-Backup --tag created-by:home-server-backup --parent 006c40dfd32474614ab271ead2de92fedede2455332476397bd758d075f30380 --pack-size 128 --verbose --dry-run
open repository
enter password for repository:
repository 814a5cc0 opened (version 2, compression level auto)
using parent snapshot 006c40df
load index files
[0:00] 100.00%  3 / 3 index files loaded
start scan on [E:\Nextcloud]
start backup on [E:\Nextcloud]
scan finished in 24.312s: 67615 files, 4.597 GiB

Files:           0 new,     2 changed, 67613 unmodified
Dirs:            0 new,     6 changed, 297186 unmodified
Data Blobs:      0 new
Tree Blobs:      7 new
Would add to the repository: 19.776 KiB (4.823 KiB stored)

processed 67615 files, 4.597 GiB in 1:00

Here you can see that the scan took significantly less time (25 seconds vs 461 seconds) when VSS was not used. Also noticed that when VSS was being used, the source hard drive was basically at 100% usage (as if it was rehashing the data), whereas when I ran it without VSS, the source hard drive was basically idle at 0%.

Why is this the case? How can I get the performance to be on par for repositories with large files while retaining the benefits of VSS snapshotting?

Thanks for your help!