|
Replies:
30
-
Pages:
3
[
1
2
3
| Next
]
-
Last Post:
29 Oct 22, 13:18
Last Post By: JeffTucker
|
|
|
Posts:
3,754
Registered:
18-Oct-2002
|
|
|
|
jAlbum 29.0.4 service release
Posted:
21 Oct 22, 16:34
|
|
|
jAlbum 29.0.4 is now available as a core update (Tools->External tools->"jAlbum core update").
Fixes:
- Faster counting of # of total files prior to album builds (multi threaded. 4x speed improvement over a networked drive using a 4 core CPU.)
- Improved underlying "TreeCollection" API to traverse AlbumObject trees recursively and in parallel: Now handles single rooted trees and unbalanced trees better.
- TreeCollection can now also include excluded files only (i.e exclude folders, but not files)
- Fix: Rename bug while renaming a project and clicking on another project
- jAlbum now remembers the thumbnail zoom level between sessions
- Removed "View-Large thumbnails". Replaced by the above
- Fixed Windows bug causing launching the browser to fail after using "Show in file system"
- Removed old code to manage launching the default web browser
I'll likely ensure that this service release is auto updated, but let's release it like this first, for review.
|
|
|
Posts:
749
Registered:
13-Apr-2006
|
|
|
|
Re: jAlbum 29.0.4 service release
Posted:
21 Oct 22, 18:23
in response to: davidekholm
|
|
|
jAlbum 29.0.4 is now available as a core update (Tools->External tools->"jAlbum core update").
Compiling a smaller album (1,381 objects). Unfortunately I forgot to do the profiling with the old version.
jAlbum 29.0.2
"Neuigkeiten" erzeugt in 1m 12,572s
jAlbum 29.0.4
"Neuigkeiten" erzeugt in 49,974s
0,55s ==>
FileFilters.saveImage: 33 calls 18,317s
HardwareSmoothScaler.scale: 25 calls 4,667s
FileFilters.loadImage: 9 calls 3,709s
AlbumBean.registerVariables: 1845 calls 2,929s
AlbumBean.makeIndexPages: 117 calls 2,773s
RecoveryTool.createLifeboat: 1 calls 1,376s
AlbumObjectImpl.getProperties: 1666 calls 1,28s
AlbumObjectProperties.load: 1576 calls 1,209s
Create MediaRSS: 117 calls 0,927s
AlbumObjectImpl.getMetadata: 1696 calls 0,831s
JAlbumUtilities.getDeepCameraDates: 117 calls 0,781s
init: 1 calls 0,752s
FileFilters.getBasicImageInfo: 1654 calls 0,563s
AlbumObjectImpl.getXmpManager: 1602 calls 0,327s
FileFilters.unifyColorModel: 9 calls 0,29s
JAlbumUtilities.countCategories: 934 calls 0,268s
AlbumBean.getFolderProperties: 457 calls 0,206s
AlbumBean.countTotalFiles: 1 calls 0,142s
JAlbumUtilities.deepLastModified: 1 calls 0,133s
copy res files: 1 calls 0,021s
AlbumBean.processFilters: 35 calls 0,004s
Total: 11897 calls 41,505s
What surprises me is the amount of time for "FileFilters.saveImage", because not a single image was new or has changed since the compilation just a few seconds before. So, why are images written, when the haven't changed?
|
|
|
Posts:
3,754
Registered:
18-Oct-2002
|
|
|
|
Re: jAlbum 29.0.4 service release
Posted:
22 Oct 22, 08:31
in response to: MarkusD
|
|
|
|
I suspect a sub optimal skin decision to produce theme images. Try making the album once more just to make sure, then switch to the Minimal skin and make the album twice there. Are those saveImage calls gone now?
What skin have you been using?
I think I’ll add a feature to the profiler so we can get stack traces for the calls to saveImage. This will help figure out what’s causing these calls. Stay tuned for a jAlbum update.
|
|
|
Posts:
3,911
Registered:
4-Aug-2006
|
|
|
|
Re: jAlbum 29.0.4 service release
Posted:
22 Oct 22, 09:40
in response to: davidekholm
|
|
|
I suspect a sub optimal skin decision to produce theme images. Try making the album once more just to make sure, then switch to the Minimal skin and make the album twice there. Are those saveImage calls gone now?
Could it be related to the use of webP images are in those albums?
|
|
|
Posts:
3,754
Registered:
18-Oct-2002
|
|
|
|
Re: jAlbum 29.0.4 service release
Posted:
22 Oct 22, 15:10
in response to: RobM
|
|
|
I suspect a sub optimal skin decision to produce theme images. Try making the album once more just to make sure, then switch to the Minimal skin and make the album twice there. Are those saveImage calls gone now?
Could it be related to the use of webP images are in those albums?
If ONLY WebP images are generated, then yes. For JPEG images, jAlbum stores the image settings within each image file
|
|
|
Posts:
749
Registered:
13-Apr-2006
|
|
|
|
Re: jAlbum 29.0.4 service release
Posted:
23 Oct 22, 10:30
in response to: davidekholm
|
|
|
Hi David,
I suspect a sub optimal skin decision to produce theme images. Try making the album once more just to make sure, then switch to the Minimal skin and make the album twice there. Are those saveImage calls gone now?
Compiling with " Tiger"
"Neuigkeiten" erzeugt in 1m 22,367s
===========================================================================
Compiling with " Minimal" the first time
0,656s ==>
FileFilters.saveImage: 5350 calls 5m 16,527s
FileFilters.loadImage: 1278 calls 2m 24,638s
HardwareSmoothScaler.scale: 3879 calls 2m 11,6s
AlbumBean.processFilters: 6365 calls 7,803s
FileFilters.unifyColorModel: 1277 calls 6,978s
AlbumBean.registerVariables: 1634 calls 6,437s
RecoveryTool.createLifeboat: 1 calls 5,513s
AlbumObjectImpl.getMetadata: 1439 calls 5,508s
AlbumBean.getFolderProperties: 354 calls 2,931s
AlbumBean.makeSlide: 1265 calls 2,376s
AlbumObjectImpl.getProperties: 1455 calls 1,584s
AlbumObjectProperties.load: 1392 calls 1,513s
AlbumBean.makeIndexPages: 117 calls 1,141s
FileFilters.getBasicImageInfo: 1443 calls 0,722s
Create MediaRSS: 117 calls 0,619s
AlbumObjectImpl.getXmpManager: 1497 calls 0,262s
JAlbumUtilities.countCategories: 700 calls 0,163s
AlbumBean.countTotalFiles: 1 calls 0,068s
copy res files: 1 calls 0,019s
init: 1 calls 0,007s
Total: 29566 calls 10m 36,412s
Compiling with " Minimal" again
"Neuigkeiten" erzeugt in 19,169s
===========================================================================
0s ==>
FileFilters.saveImage: 42 calls 4,951s
AlbumBean.registerVariables: 1634 calls 2,963s
HardwareSmoothScaler.scale: 41 calls 2,758s
FileFilters.loadImage: 9 calls 2,598s
AlbumObjectImpl.getMetadata: 1439 calls 1,734s
RecoveryTool.createLifeboat: 1 calls 1,726s
AlbumBean.makeSlide: 1265 calls 1,348s
AlbumBean.makeIndexPages: 117 calls 1,039s
AlbumObjectImpl.getProperties: 1455 calls 0,848s
AlbumObjectProperties.load: 1392 calls 0,795s
FileFilters.getBasicImageInfo: 1443 calls 0,681s
Create MediaRSS: 117 calls 0,512s
AlbumObjectImpl.getXmpManager: 1497 calls 0,233s
FileFilters.unifyColorModel: 9 calls 0,197s
JAlbumUtilities.countCategories: 700 calls 0,155s
AlbumBean.getFolderProperties: 336 calls 0,081s
AlbumBean.countTotalFiles: 1 calls 0,078s
copy res files: 1 calls 0,022s
init: 1 calls 0,006s
AlbumBean.processFilters: 35 calls 0,001s
Total: 11535 calls 22,726s
Compiling with " Minimal" again
"Neuigkeiten" erzeugt in 17,891s
===========================================================================
0s ==>
FileFilters.saveImage: 42 calls 5,48s
HardwareSmoothScaler.scale: 41 calls 3,005s
FileFilters.loadImage: 9 calls 2,603s
RecoveryTool.createLifeboat: 1 calls 1,745s
AlbumBean.registerVariables: 1634 calls 1,432s
AlbumBean.makeSlide: 1265 calls 1,285s
AlbumBean.makeIndexPages: 117 calls 0,862s
AlbumObjectImpl.getProperties: 1455 calls 0,729s
AlbumObjectProperties.load: 1392 calls 0,682s
AlbumObjectImpl.getMetadata: 1439 calls 0,473s
FileFilters.unifyColorModel: 9 calls 0,467s
Create MediaRSS: 117 calls 0,455s
FileFilters.getBasicImageInfo: 1443 calls 0,255s
AlbumObjectImpl.getXmpManager: 1497 calls 0,23s
JAlbumUtilities.countCategories: 700 calls 0,154s
AlbumBean.getFolderProperties: 345 calls 0,077s
AlbumBean.countTotalFiles: 1 calls 0,058s
copy res files: 1 calls 0,022s
init: 1 calls 0,005s
AlbumBean.processFilters: 35 calls 0,001s
Total: 11544 calls 20,02s
What skin have you been using?
I use Tiger.
I think I’ll add a feature to the profiler so we can get stack traces for the calls to saveImage. This will help figure out what’s causing these calls. Stay tuned for a jAlbum update.
Sounds good. Thanks!
|
|
|
Posts:
3,754
Registered:
18-Oct-2002
|
|
|
|
Re: jAlbum 29.0.4 service release
Posted:
23 Oct 22, 12:49
in response to: MarkusD
|
|
|
Now I've updated the Profiler. Do a core update to get hold of the update, then open the system console, set it to "Groovy" mode and issue:
Profiler.instance.forSample("FileFilters.saveImage").traceCalls = true
. This will switch on call stack logging.
Now make the gallery twice. Now request a list of all call stacks for that method call: Profiler.instance.getSample("FileFilters.saveImage").callStacks
Paste the result to me here 
|
|
|
Posts:
749
Registered:
13-Apr-2006
|
|
|
|
Re: jAlbum 29.0.4 service release
Posted:
23 Oct 22, 13:37
in response to: davidekholm
|
|
|
Now I've updated the Profiler. Do a core update to get hold of the update
I did that, but I still have version 29.0.4. I'm getting an error if I call your code:
An unexpected error occurred. Please see detailed description below:
javax.script.ScriptException: javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: net.jalbum.util.Profiler.forSample() is applicable for argument types: (String) values: [FileFilters.saveImage]
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:164)
at net.jalbum.script.GroovierScriptEngine.eval(GroovierScriptEngine.java:86)
at java.scripting/javax.script.AbstractScriptEngine.eval(Unknown Source)
at se.datadosen.jalbum.JConsoleFrame.processExpression(JConsoleFrame.java:372)
at se.datadosen.jalbum.JConsoleFrame.access$100(JConsoleFrame.java:66)
at se.datadosen.jalbum.JConsoleFrame$2.actionPerformed(JConsoleFrame.java:150)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.desktop/java.awt.Component.processEvent(Unknown Source)
at java.desktop/java.awt.Container.processEvent(Unknown Source)
at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: net.jalbum.util.Profiler.forSample() is applicable for argument types: (String) values: [FileFilters.saveImage]
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:334)
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:161)
... 40 more
Caused by: groovy.lang.MissingMethodException: No signature of method: net.jalbum.util.Profiler.forSample() is applicable for argument types: (String) values: [FileFilters.saveImage]
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:72)
at org.codehaus.groovy.vmplugin.v8.IndyGuardsFiltersAndSignatures.unwrap(IndyGuardsFiltersAndSignatures.java:161)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:318)
at Script1.run(Script1.groovy:1)
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:331)
... 41 more
I used the tool "jAlbum core update.groovy": /* jAlbum core AND BETA update by RobM derived from David's core update tool */
/* Version 3, dated 23 Apr 2022 */
Which version should the core update show on my computer?
|
|
|
Posts:
3,911
Registered:
4-Aug-2006
|
|
|
|
Re: jAlbum 29.0.4 service release
Posted:
23 Oct 22, 15:27
in response to: MarkusD
|
|
|
|
The combined update tells you if there is no update, a core update, a beta update or an alpha (undisclosed but available). What message did you get?
|
|
|
Posts:
749
Registered:
13-Apr-2006
|
|
|
|
Re: jAlbum 29.0.4 service release
Posted:
23 Oct 22, 15:55
in response to: RobM
|
|
|
|
|
|
Posts:
3,911
Registered:
4-Aug-2006
|
|
|
|
Re: jAlbum 29.0.4 service release
Posted:
23 Oct 22, 16:18
in response to: MarkusD
|
|
|
|
Ok, so no update was found in the expected locations and thus nothing updated. One for David.
|
|
|
Posts:
3,754
Registered:
18-Oct-2002
|
|
|
|
Re: jAlbum 29.0.4 service release
Posted:
24 Oct 22, 09:43
in response to: JeffTucker
|
|
|
|
I was in a bit of hurry yesterday. Now the core update should work properly and bring you v29.0.5 (I bumped the version number too just to be sure).
|
|
|
Posts:
749
Registered:
13-Apr-2006
|
|
|
|
Re: jAlbum 29.0.4 service release
Posted:
24 Oct 22, 17:57
in response to: davidekholm
|
|
|
|
|
|
Posts:
3,754
Registered:
18-Oct-2002
|
|
|
|
Re: jAlbum 29.0.4 service release
Posted:
25 Oct 22, 00:26
in response to: MarkusD
|
|
|
|
Thanks Markus. That sadly didn't reveal much more. We need the file names of the files saved. I've added that debug into to v29.0.6 now. Do a core update and rerun the album making, then pass me the log. It will print "Saving <file here>" for each saved file if you have logging level set to "FINE"
|
|
|
|
Legend
|
|
Forum admins
|
|
Helpful Answer
|
|
Correct Answer
|
|