OpenSimWorld is the directory of 3D Virtual Worlds based on OpenSimulator and connected through the HyperGrid. Learn More

working on speeding up FSAssetService, i noticed in the loop it's got hard-coded 1 second delay per asset. So on a simple thing with 30 assets that's an extra 30 second of nada nothing. I added config option in Robust.HG.ini under

[AssetService]
WriteSleepMs = 10

so that's 10ms or .01 seconds instead of 1000ms but you can adjust in the config how you like it. in the Writer() function i changed Thread.Sleep(1000); to Thread.Sleep(m_WriteSleepMs); (which pulls value from config, defaults to 1000 if dne)

I also moved the spool directory to RAM disk where it determines the hash, and it checks the RAM disk for existing file instead of hitting the drive. Then it does the actual movement from spool to data directory in a background thread without blocking. So far I'm seeing simple remote objects imported over HG taking about 20 seconds that took about 3 minutes originally. Anyway if you want to test it out there's just one file change. https://codeberg.org/fionasweet/FSAssetService
let me know . If I didn't break anything maybe i'll submit a PR upstream.