pearcetm / GeoTIFFTileSource

Implementation of a TileSource for OpenSeadragon based on GeoTIFF.js, enabling local and remote TIFF files to be viewed without using an image server
MIT License
27 stars 5 forks source link

Performance differences between files #2

Open pearcetm opened 1 year ago

pearcetm commented 1 year ago

This issue was raised by @phillipjohnson in a discussion on the OpenSeadragon forum. Certain files have slower decoding of tiles than others - for this issue, notably SVS files scanned on Aperio GT450 model scanners.

I've adapted some methods from the geotiff.js library to include in the local library, which improves performance by ~4-fold. I'm not sure what the underlying issue actually is here - does it relate to YCbCr vs RGB photometricInterpretation? Does it relate to layout of the tile data in the underlying file? To be determined...

More testing/eyeballs/suggestions would be most welcome!

pearcetm commented 1 year ago

The new version of the demo page should have better performance on all SVS files (GT450 and older) compared to the previous version. If you notice any conditions that cause degraded performance/latency, please note them here.

phillipjohnson commented 1 year ago
@pearcetm Woah, this is great! I played around with a few slides and it is noticeably improved. I captured your console output and ran some quick stats on two "sessions" of me scrolling around. There's a difference still, but it's beyond what I think is perceptible to a user. (ms) GT450 AT2
Min 27 4
Q1 69 31
Mean 205 65
Median 135 55
Q3 306 81
Max 808 282