CesiumGS / cesium-omniverse

Bringing the 3D geospatial ecosystem to Omniverse
https://cesium.com/platform/cesium-for-omniverse/
Apache License 2.0
55 stars 7 forks source link

Accessor cache using CeslumAsync::SqliteCache #666

Closed timoore closed 6 months ago

timoore commented 7 months ago

Addresses #650.

This builds on #634, which needs to be merged first.

r-veenstra commented 7 months ago

I did some benchmarking with this USDA load_test.zip

results:

First load, clear cache: 74 seconds, 116mb downloaded Second load, cached: 44 seconds, 0mb downloaded Restart app, load cached: 44 seconds, 0mb downloaded

Appears to be working as expected.

I do notice a rather large hang (~10-20 seconds) when I hit Reload all Tilesets in Cesium Debugging UI (this is what I'm doing to trigger a reload). This isn't unique to this branch, and I suspect it has something to do with unloading all of the tileset resources before it begins reloaded.

Point is, if we ignore the hang, the actual loading of the cached data goes down to ~24 seconds.

r-veenstra commented 7 months ago

Experimented here with the clear cache functionality, it appears to be working well!

See the results below - times with the red dash were after clearing cache, the rest are a reload from cached data. Looking quite consistent.

image

r-veenstra commented 7 months ago

Similar tests with Google Photorealistic 3D tiles

image

lilleyse commented 6 months ago

@timoore could you update CHANGES.md?

lilleyse commented 6 months ago

I added this to CHANGES.md in https://github.com/CesiumGS/cesium-omniverse/pull/696. So no need to update the change log in this PR.