Preloading WMTS Data in Cesium for Improved Performance

Hello Cesium community,

I’ve been working with WMTS data in Cesium, and I’m interested in optimizing the user experience by preloading data that is not immediately visible on the screen. Specifically, I’d like to preload surrounding data, including data at higher zoom levels, so that it’s readily available in memory when needed.

Could anyone share insights or best practices on achieving this? Are there any specific settings or techniques in Cesium that allow for efficient preloading of WMTS data?

Thank you in advance for your help!

here is WebMapTileServiceImageryProvider setting

            const wmtsImageryProvider = new Cesium.WebMapTileServiceImageryProvider({
                url: url,
                layer: layer,
                style: 'default',
                format: 'image/png',
                tileMatrixSetID: 'EPSG:4326',
                tileMatrixLabels: ['EPSG:4326:0', 'EPSG:4326:1', 'EPSG:4326:2', 'EPSG:4326:3', 'EPSG:4326:4', 'EPSG:4326:5', 'EPSG:4326:6', 'EPSG:4326:7', 'EPSG:4326:8', 'EPSG:4326:9', 'EPSG:4326:10', 'EPSG:4326:11', 'EPSG:4326:12', 'EPSG:4326:13', 'EPSG:4326:14', 'EPSG:4326:15', 'EPSG:4326:16', 'EPSG:4326:17', 'EPSG:4326:18', 'EPSG:4326:19', 'EPSG:4326:20', 'EPSG:4326:21'],
                //minimumLevel: 17,
                maximumLevel: 21,
                tileWidth:256,
                tileHeight:256,
                tilingScheme: new Cesium.GeographicTilingScheme(),
                //tileDiscardPolicy: new Cesium.NeverTileDiscardPolicy(),
                maximumMemoryUsage : 1024 * 1024 * 1024 * 7,
                preloadSiblings: true,
                preloadWhenHidden : true,
                maximumScreenSpaceError: 1
            })