@iangilman Thanks for that. Thats just what I needed :smile: My app is also running in a specific environment where I have plenty of memory to play with. Is there a way to have Openseadragon preload/cache the tiles so I can make full use of the available memory? I do some long distance panning operations and this causes low quality tiles to be shown as the tiles cannot load from disk as fast as panning occurs. Thanks.
@iangilman thank you for the help! My environment does allow a lengthy load time so pre-caching time is not much of a concern. If I navigate the paths ahead of time to warm the cache would I need to use the same pan speed or could I speed up the panning and reduce the load time? If working with the TileCache might lead to a reusable solution I'd be happy to contribute back to OSD if you think others might find it useful.
I'm not sure what the speed would have to be... you have to be on a position long enough to trigger a tile load, and I'm not sure if moving off too soon would cancel the tile. You'll probably have to do some experimenting and watching the behavior.
The most conservative approach would be to move to a specific point on the path and then wait for the fully-loaded-change event, then move to the next point in the path, etc.
...but you might be able to move quicker; it's just not an area I can say for sure off the top of my head
To use TileCache instead, you'd have to do the math to figure out which tiles you needed.
Though I suppose if it's always the same path you're trying to pre-load, you could rig up something to follow that path and capture the list of tiles which you could then save and feed into the TileCache for future runs of the app
I'm wondering also what the effect of changing the tile sizes and/or number of levels in the image pyramid would be on this. Perhaps fewer images/larger tiles would mean less time needed to be spent passing over to trigger loading all the tiles. Or perhaps another option would be to pre-load everything down to a certain level in the pyramid. Thinking aloud here...