I noticed that the Levels filter (brightness and contrast) wasn't that performant at all - even slower than the old implementation. I've now reimplemented it again, this time using fast lookup-tables (Java2D LookupOp) . Now it's many times faster than before.
Here's data from rebuilding 94 sample JPEGs Rob passed me. I applied brightness, contrast and gamma on them:
jAlbum 36.1 with old filters:
FileFilters.loadImage: 94 calls 5,337s
FileFilters.saveImage: 282 calls 5,13s
HardwareSmoothScaler.scale: 276 calls 4,817s
AlbumBean.processFilters: 470 calls 3,313s
FileFilters.unifyColorModel: 94 calls 2,262s
jAlbum 36.1.5 with new filters:
HardwareSmoothScaler.scale: 276 calls 2,485s
FileFilters.loadImage: 94 calls 1,958s
FileFilters.saveImage: 282 calls 1,827s
AlbumBean.processFilters: 470 calls 1,541s
Levels filter: 94 calls 0,439s
Gamma filter: 94 calls 0,428
This version of "Levels" filter is around 10x faster than the previous beta version.
To try it out, just grab
https://jalbum.net/download/JalbumFilters.jaext and put in inside jAlbum's "ext" folder.