RomVault is capable of processing your archives and ROMs very quickly. Consider the following performance tuning tips below to allow RomVault to work as optimally as possible for your system.
Use an NVME or SSD for your cache file
Whenever possible its best to run RomVault from a fast NVME or SSD drive. RomVault periodically writes information to its cache file during a fix operation. The default behavior is to write the cache file to the same directory as the executable. This can be changed by editing RomVault's config XML file. For more information see the Advanced Configuration section.
Configure a cache ToSort on a fast drive
RomVault processes fixes involving 7z archives by extracting the contents to a cache directory first then performing all fixes involving that archive in a batch. This behavior minimizes the number of times a solid 7z archive needs to be decompressed or recompressed. If no Cache ToSort is configured, then RomVault will use the Primary ToSort. If your Primary ToSort is on a slower drive or network share, you may experience sub-optimal performance with 7z archives. For more information about the Cache ToSort, refer to the section on ToSort Directories.
Enable Windows long path support
Some collections like TOSEC may have extremely long path and file names. RomVault supports long paths as well as the
\\?\ syntax, but Windows does not default to this behavior. Refer to the Microsoft documentation for instructions how to enable long path support.
Use mapped network drives instead of UNC paths
RomVault supports mapped network drive locations as well as UNC paths. Mapped network drives on Windows tend to be preferred because they can easily be configured to automatically reconnect upon login. Although no official benchmarks have been conducted, some users report faster speeds when using a mapped network drive vs UNC paths. This may be due to the fact that a mapped network drive authenticates once instead of on every file access like when using a UNC path.
Enable case sensitive SMB shares
If you are using a SMB share, you should always configure this share to enable case sensitivity. If a SMB share is not explicitly configured for case sensitivity then you will have poor performance when working with very large directories because Samba must do a filename search and match on passed names. For more information please refer to the Name Mangling section of the Samba documentation.
It is ALWAYS recommended to use case sensitive SMB shares with RomVault. Case insensitive SMB shares may result in an error while fixing due to changing character case of a filename.
If you are an UnRAID user, this setting can easily be changed to “Yes” in the SMB Security Settings tab of your user share.
Disable real-time protection on ROM and ToSort directories
Windows has a very aggressive real-time scanning service enabled by default. You may find better performance by adding your ROM and ToSort directories as exclusions.
- Go to Start > Settings > Update & Security > Windows Security > Virus & threat protection.
- Under Virus & threat protection settings, select Manage settings, and then under Exclusions, select Add or remove exclusions.
- Select Add an exclusion, and then select from files, folders, file types, or process. A folder exclusion will apply to all subfolders within the folder as well.
Reduce other load on disks while scanning or fixing
One of the most common causes of poor performance is other disk activity. If you are having poor performance with scanning or fixing operations, try closing other programs that may be adding to disk load, for example torrents or indexing/hashing services.
Get more RAM
RomVault uses a significant amount of RAM for its cache in order to perform much faster than a SQL database. Its recommended to have at least 1 GB of RAM per 1,000,000 ROMs managed by RomVault.
Use multiple RomVault instances if RAM is limited
RomVault loads information from all DATs into memory which can use a significant amount of RAM. If you do not have enough RAM for the amount of DATs you have, you can use more than one instance of RomVault. For example all TOSEC DATs could be loaded using one instance and all Redump DATs with another. If you take this approach be sure that each instance is running from a separate directory so the cache files are not shared.