Posts:
3,624
Registered:
18-Oct-2002
|
|
|
jAlbum 37 beta for testing
Posted:
15 Jan 25, 22:47
|
|
|
Hi guys,
jAlbum 37 is just around the corner now. Here's the beta!
Changes:
- Reads JPEG images twice as fast thanks to turbojpeg library (native code stuffed with SIMD instructions for max performance)
- Faster page processing during album builds: 1.7x normal speed when making a 6000 image Tiger gallery with slide pages, no mediaRSS
- Image tools rewritten to take advantage of GPUs and SIMD instructions. The following image tools have been accelerated: Flip, Brightness, Contrast and Gamma
- Faster folder tree rendering when navigating slow devices, like NAS devices. The folder tree is now discovered using multiple background threads, leading to a more responsive UI.
- Updated bundled Tiger skin
- New Preferences settings to control what image reader and writer libraries to use. See Preferences-Advanced-Image readers and Preferences-Advanced-Image writers.
Installers:
Windows: https://jalbum.net/download/jAlbum-install.exe
Mac (Intel): https://jalbum.net/download/jAlbum.dmg
Mac (M-series): https://jalbum.net/download/jAlbum-M.dmg
Linux (Debian): https://jalbum.net/download/jalbum_37-1_amd64.deb
Linux (arm-Debian): https://jalbum.net/download/jalbum_37-1_arm64.deb
|
|
|
Posts:
3,999
Registered:
4-Aug-2006
|
|
|
Re: jAlbum 37 beta for testing
Posted:
16 Jan 25, 00:31
in response to: davidekholm
|
|
|
|
David, from previous thread.
I installed the new filter in the application's external folder, there is no copy in the config folder.
Screen shot of my Library/jAlbum/ext folder, no FilterEffects in there.
jAlbum 36.1 installed in a subfolder of the Applications folder, it has JalbumFilters.jaext dated Wednesday 18 December 2024 at 13:18
jAlbum 36.1.5 installed in the application's folder, it has JalbumFilters.jaext dated Wednesday 15 January 2025 at 19:23
Project as I shared with you is on my hard drive in Dropbox's local version of the uploaded one.
Output directory set to 'Sites' subfolder of my 'home' folder.
Let me know if you need more data.
Edited by: RobM on 15 Jan 2025, 23:33
Just downloaded the 37 beta but time for bed, will try it tomorrow night.
|
|
|
Posts:
3,624
Registered:
18-Oct-2002
|
|
|
Re: jAlbum 37 beta for testing
Posted:
16 Jan 25, 15:43
in response to: RobM
|
|
|
Rob, to print the timings just issue Profiler.instance
If you wish to install new measurements, use code like this: try (Sample _s = Profiler.profile("Clone image")) {
return duplicate3(image);
}
Try v37 and also grab the beta core so you get v37b2. That's a bit faster as well. Here's a comparison when building your test project and applying brightness, contrast and gamma to all images:
v36:
Making "Roberts JPEGs" (All)
"Roberts JPEGs" made in 9,345s
Making "Roberts JPEGs" (All)
"Roberts JPEGs" made in 7,039s
Making "Roberts JPEGs" (All)
"Roberts JPEGs" made in 6,5s
Profiling data (last run): FileFilters.loadImage: 94 calls 6,195s
FileFilters.saveImage: 282 calls 5,933s
HardwareSmoothScaler.scale: 270 calls 5,446s
AlbumBean.processFilters: 470 calls 3,716s
FileFilters.unifyColorModel: 94 calls 1,847s
Executing compiled scriptlet: 56 calls 0,314s
...
v37b2:
Making "Roberts JPEGs" (All)
"Roberts JPEGs" made in 5,362s
Making "Roberts JPEGs" (All)
"Roberts JPEGs" made in 4,157s
Making "Roberts JPEGs" (All)
"Roberts JPEGs" made in 3,54s
Profiling data (last run): HardwareSmoothScaler.scale: 270 calls 2,903s
FileFilters.saveImage: 282 calls 2,467s
FileFilters.loadImage: 94 calls 2,293s
AlbumBean.processFilters: 470 calls 1,397s
Levels filter: 86 calls 0,993s
Gamma filter: 87 calls 0,828s
Executing compiled scriptlet: 56 calls 0,284s
...
Gains:
Image loading: 2.7x
Image saving: 2.4x
Image scaling: 1.9x
Filter processing: 2.7x
|
|
|
Posts:
3,999
Registered:
4-Aug-2006
|
|
|
Re: jAlbum 37 beta for testing
Posted:
16 Jan 25, 20:58
in response to: davidekholm
|
|
|
Now we're cooking  (missed the b2 it went straight to the b3)
jAlbum 37b3 time = "jpgs" made in 3.669s
jAlbum 36.1 time = "jpgs" made in 6.211s
|
|
|
Posts:
3,624
Registered:
18-Oct-2002
|
|
|
Re: jAlbum 37 beta for testing
Posted:
16 Jan 25, 21:05
in response to: RobM
|
|
|
Now we're cooking  (missed the b2 it went straight to the b3)
jAlbum 37b3 time = "jpgs" made in 3.669s
jAlbum 36.1 time = "jpgs" made in 6.211s
Great!
If you experience long album builds in the future, issue a Profiler.instance in the system console after or during the build. That should reveal what jAlbum spends the major parts on.
|
|
|
Posts:
3,999
Registered:
4-Aug-2006
|
|
|
Re: jAlbum 37 beta for testing
Posted:
16 Jan 25, 21:17
in response to: davidekholm
|
|
|
Some more timings, one brand new make followed by two force remakes:
36.1 old filter
Making "jpgs" (Changes)
"jpgs" made in 5.971s
Making "jpgs" (All)
"jpgs" made in 6.109s
Making "jpgs" (All)
"jpgs" made in 6.149s
jAlbum 37b3
Making "jpgs" (Changes)
"jpgs" made in 3.294s
Making "jpgs" (All)
"jpgs" made in 3.542s
Making "jpgs" (All)
"jpgs" made in 2.441s
|
|
|
Posts:
3,999
Registered:
4-Aug-2006
|
|
|
Re: jAlbum 37 beta for testing
Posted:
17 Jan 25, 20:22
in response to: davidekholm
|
|
|
Under Settings>Images>Output format you still get a warning that webP images can't be displayed in the integrated browser, but it can. WebP is also now supported by most browsers, https://caniuse.com/webp
|
|
|
Posts:
3,999
Registered:
4-Aug-2006
|
|
|
Re: jAlbum 37 beta for testing
Posted:
17 Jan 25, 20:44
in response to: davidekholm
|
|
|
Hi guys,
jAlbum 37 is just around the corner now. Here's the beta!
- New Preferences settings to control what image reader and writer libraries to use. See Preferences-Advanced-Image readers and Preferences-Advanced-Image writers.
Is this a work in progress still? If I turn off webP image writer but select webP in Settings>Images>Advanced, then make album I get no warnings but the output only has slide html files no images.
Similarly, if I turn off Image readers webP JDeli image reader there is no warning that a webP image is not supported. More surprising is if the output is set to JPG the webP image is converted to jpg and appears in the output.
I'm somewhat at a loss on what to write for the wiki entry. Should webP be disabled like other basic formats? Should disabling a format result in a warning if an image of that type is included in the project?
|
|
|
Posts:
3,624
Registered:
18-Oct-2002
|
|
|
Re: jAlbum 37 beta for testing
Posted:
18 Jan 25, 02:41
in response to: RobM
|
|
|
Hi guys,
jAlbum 37 is just around the corner now. Here's the beta!
- New Preferences settings to control what image reader and writer libraries to use. See Preferences-Advanced-Image readers and Preferences-Advanced-Image writers.
Is this a work in progress still? If I turn off webP image writer but select webP in Settings>Images>Advanced, then make album I get no warnings but the output only has slide html files no images.
I expected an error in that case. I'll look into it.
Similarly, if I turn off Image readers webP JDeli image reader there is no warning that a webP image is not supported. More surprising is if the output is set to JPG the webP image is converted to jpg and appears in the output.
I'm somewhat at a loss on what to write for the wiki entry. Should webP be disabled like other basic formats? Should disabling a format result in a warning if an image of that type is included in the project?
Those are advanced settings that are basically only meant to be used if you encounter problems with, say, the turbojpeg reader or writer. One is not supposed to uncheck a reader or writer if it's the only one present for that image format. I don't plan to incorporate warnings in jAlbum if, say the only webp writer is switched off, but jAlbum should generate an error if the user requests jAlbum to write a format it can't support.
|
|
|
Posts:
3,624
Registered:
18-Oct-2002
|
|
|
Re: jAlbum 37 beta for testing
Posted:
18 Jan 25, 02:41
in response to: RobM
|
|
|
Under Settings>Images>Output format you still get a warning that webP images can't be displayed in the integrated browser, but it can. WebP is also now supported by most browsers, https://caniuse.com/webp
Time to retire that warning message 
|
|
|
Posts:
3,999
Registered:
4-Aug-2006
|
|
|
Re: jAlbum 37 beta for testing
Posted:
18 Jan 25, 11:30
in response to: davidekholm
|
|
|
Those are advanced settings that are basically only meant to be used if you encounter problems with, say, the turbojpeg reader or writer. One is not supposed to uncheck a reader or writer if it's the only one present for that image format. I don't plan to incorporate warnings in jAlbum if, say the only webp writer is switched off, but jAlbum should generate an error if the user requests jAlbum to write a format it can't support.
Would it not be easier, for you and the user, if only image formats that had multiple readers/writers are shown? At the very least if there is only one reader/writer for a format then it/they should be greyed out.
|
|
|
Posts:
682
Registered:
13-Apr-2006
|
|
|
Re: jAlbum 37 beta for testing
Posted:
18 Jan 25, 12:06
in response to: davidekholm
|
|
|
Hi David,
I'm on 37b1 an Tiger 6.2
Tested two albums, a small one with only some hundred photos from webcams (the " 2025" album). And one with 302 pictures and 65 videos (the " 2024" album).
The results. ++++++++++++
Album "2025"
++++++++++++
"Everything was already done"
0,062s ==>
AlbumBean.registerVariables: 715 calls 14,378s
AlbumObjectImpl.getMetadata: 653 calls 13,224s
AlbumObjectImpl.getXmpManager: 1046 calls 13,075s
AlbumObjectImpl.getProperties: 653 calls 11,721s
AlbumObjectProperties.load: 647 calls 9,685s
FileFilters.getBasicImageInfo: 653 calls 7,668s
Process compiled expression: 37 calls 5,546s
predir processing: 34 calls 4,117s
init: 1 calls 2,107s
AlbumBean.makeIndexPages: 34 calls 1,625s
Executing compiled scriptlet: 3145 calls 1,349s
Writing pages: 106 calls 1,23s
Create MediaRSS: 34 calls 0,664s
Compiling script: 4 calls 0,539s
JAlbumUtilities.getDeepCameraDates: 34 calls 0,447s
AlbumBean.popVars: 2765 calls 0,412s
JAlbumUtilities.countCategories: 303 calls 0,365s
Executing interpreted scriptlet: 3979 calls 0,357s
JSONMaker.makeTree: 1 calls 0,277s
AlbumBean.countTotalFiles: 1 calls 0,259s
AlbumBean.pushVars: 2766 calls 0,214s
JSONMaker.makeDataPages: 34 calls 0,195s
Compiling scriptlets: 2938 calls 0,192s
AlbumBean.getFolderProperties: 53 calls 0,175s
Reading file attributes: 297 calls 0,14s
Making deep-data.json: 1 calls 0,081s
Process expression: 1 calls 0,016s
Copy res files: 1 calls 0,007s
Total: 20936 calls 1m 30,065s
"Everyting in the output folder deleted, except the videos"
0,003s ==>
Process compiled expression: 37 calls 36,986s
predir processing: 34 calls 36,915s
FileFilters.loadImage: 702 calls 27,277s
HardwareSmoothScaler.scale: 691 calls 24,374s
FileFilters.saveImage: 1439 calls 14,826s
AlbumObjectImpl.getProperties: 1127 calls 0,961s
AlbumObjectProperties.load: 1051 calls 0,892s
Copy res files: 1 calls 0,818s
AlbumBean.makeIndexPages: 34 calls 0,718s
AlbumBean.registerVariables: 715 calls 0,696s
Executing compiled scriptlet: 3145 calls 0,609s
Create MediaRSS: 34 calls 0,377s
JAlbumUtilities.getDeepCameraDates: 34 calls 0,342s
AlbumObjectImpl.getXmpManager: 1046 calls 0,339s
AlbumBean.popVars: 2765 calls 0,309s
AlbumObjectImpl.getMetadata: 653 calls 0,226s
Executing interpreted scriptlet: 3979 calls 0,189s
FileFilters.getBasicImageInfo: 653 calls 0,188s
AlbumBean.processFilters: 3479 calls 0,188s
JSONMaker.makeDataPages: 34 calls 0,139s
AlbumBean.pushVars: 2766 calls 0,138s
Compiling scriptlets: 2938 calls 0,116s
init: 1 calls 0,1s
JAlbumUtilities.countCategories: 303 calls 0,078s
Writing pages: 106 calls 0,071s
JSONMaker.makeTree: 1 calls 0,048s
Reading file attributes: 297 calls 0,047s
AlbumBean.countTotalFiles: 1 calls 0,029s
Making deep-data.json: 1 calls 0,028s
AlbumBean.getFolderProperties: 48 calls 0,022s
Process expression: 1 calls 0,01s
Total: 28116 calls 2m 28,056s
---------------------------------------------------------
++++++++++++
Album "2024"
++++++++++++
"Everything was already done"
0,7s ==>
Process compiled expression: 39 calls 4,052s
predir processing: 36 calls 3,312s
FileFilters.loadImage: 70 calls 2,016s
init: 1 calls 1,307s
AlbumBean.makeIndexPages: 36 calls 1,221s
Executing compiled scriptlet: 2995 calls 1,014s
AlbumBean.registerVariables: 487 calls 0,97s
Create MediaRSS: 36 calls 0,565s
Compiling script: 4 calls 0,517s
JSONMaker.makeDataPages: 36 calls 0,502s
AlbumObjectImpl.getXmpManager: 519 calls 0,467s
JAlbumUtilities.countCategories: 321 calls 0,435s
AlbumBean.popVars: 1954 calls 0,424s
AlbumObjectProperties.load: 423 calls 0,409s
AlbumObjectImpl.getProperties: 429 calls 0,407s
Executing interpreted scriptlet: 2900 calls 0,346s
AlbumObjectImpl.getMetadata: 428 calls 0,325s
JAlbumUtilities.getDeepCameraDates: 36 calls 0,262s
FileFilters.getBasicImageInfo: 425 calls 0,233s
Compiling scriptlets: 2776 calls 0,206s
AlbumBean.pushVars: 1955 calls 0,206s
JSONMaker.makeTree: 1 calls 0,124s
FileFilters.saveImage: 1 calls 0,094s
AlbumBean.countTotalFiles: 1 calls 0,086s
Reading file attributes: 280 calls 0,066s
Making deep-data.json: 1 calls 0,066s
AlbumBean.getFolderProperties: 69 calls 0,054s
Writing pages: 112 calls 0,046s
Process expression: 1 calls 0,02s
Copy res files: 1 calls 0,003s
BetterMediumScaler.scale: 1 calls 0s
Total: 16374 calls 19,755s
"Everyting in the output folder deleted, except the videos"
0,005s ==>
FileFilters.loadImage: 482 calls 39,86s
HardwareSmoothScaler.scale: 562 calls 37,033s
Process compiled expression: 39 calls 28,347s
predir processing: 36 calls 27,251s
FileFilters.saveImage: 926 calls 22,669s
AlbumBean.registerVariables: 487 calls 10,078s
AlbumObjectImpl.getMetadata: 428 calls 7,585s
AlbumObjectImpl.getXmpManager: 519 calls 7,456s
AlbumObjectImpl.getProperties: 917 calls 4,828s
AlbumObjectProperties.load: 675 calls 4,183s
FileFilters.getBasicImageInfo: 425 calls 1,589s
init: 1 calls 1,226s
AlbumBean.countTotalFiles: 1 calls 0,98s
JAlbumUtilities.countCategories: 321 calls 0,958s
Reading file attributes: 280 calls 0,86s
AlbumBean.getFolderProperties: 85 calls 0,753s
Executing compiled scriptlet: 2995 calls 0,736s
AlbumBean.makeIndexPages: 36 calls 0,611s
JAlbumUtilities.getDeepCameraDates: 36 calls 0,288s
JSONMaker.makeTree: 1 calls 0,251s
AlbumBean.popVars: 1954 calls 0,233s
Create MediaRSS: 36 calls 0,225s
Compiling script: 4 calls 0,122s
Compiling scriptlets: 2776 calls 0,113s
JSONMaker.makeDataPages: 36 calls 0,109s
Executing interpreted scriptlet: 2900 calls 0,105s
AlbumBean.pushVars: 1955 calls 0,104s
AlbumBean.processFilters: 2160 calls 0,089s
Writing pages: 112 calls 0,078s
Making deep-data.json: 1 calls 0,039s
Copy res files: 1 calls 0,022s
Process expression: 1 calls 0,007s
Total: 21188 calls 3m 18,788s
|
|
|
Posts:
3,999
Registered:
4-Aug-2006
|
|
|
Re: jAlbum 37 beta for testing
Posted:
18 Jan 25, 13:31
in response to: MarkusD
|
|
|
Hi David,
I'm on 37b1 an Tiger 6.2
I didn’t see a big change until I tried b3 version. Try the beta update.
|
|
|
Posts:
682
Registered:
13-Apr-2006
|
|
|
Re: jAlbum 37 beta for testing
Posted:
18 Jan 25, 16:00
in response to: RobM
|
|
|
Hi David,
I'm on 37b1 an Tiger 6.2
I didn’t see a big change until I tried b3 version. Try the beta update.
In the past years I gave up using betas, it was always a mess to get them. Except when I can download the whole beta as a full version. Which I did.
I have:
Which one should I use?
If you ask me, David should create a mechanism inside JA to install the latest beta. No external tools which fail every now and then.
Thanks, Markus
|
|
|
Posts:
3,999
Registered:
4-Aug-2006
|
|
|
Re: jAlbum 37 beta for testing
Posted:
18 Jan 25, 16:23
in response to: MarkusD
|
|
|
Hi David,
I'm on 37b1 an Tiger 6.2
I didn’t see a big change until I tried b3 version. Try the beta update.
In the past years I gave up using betas, it was always a mess to get them. Except when I can download the whole beta as a full version. Which I did.
You always get the beta from https://jalbum.net/download/beta/jalbum-core.jar
But you have to install it by hand and there may be texts updates which won’t be included.
That’s why I use my external tool, it updates the core internally and installs any texts files if there are any. I’ll upload my modified version tonight, it looks for all update types but asks if you want to try the next type if the searched for is not found: Normal, beta, undeclared beta
|
|
|
|
Legend
|
|
Forum admins
|
|
Helpful Answer
|
|
Correct Answer
|
|