Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make more responsive DT startup while opening files not in the library #5799

Closed
oxpa opened this issue Jul 24, 2020 · 2 comments · Fixed by #9342
Closed

make more responsive DT startup while opening files not in the library #5799

oxpa opened this issue Jul 24, 2020 · 2 comments · Fixed by #9342
Labels
bug: pending someone needs to start working on that scope: DAM managing files, collections, archiving, metadata, etc. scope: performance doing everything the same but faster scope: UI user interface and interactions
Milestone

Comments

@oxpa
Copy link

oxpa commented Jul 24, 2020

My workflow usually includes pre sorting RAW files into directories, then converting all of those files to jpegs using DT.

Opening multiple new RAW files from a file manager freezes DT for a long time. This can happen if DT is not yet started and with DT already open.

When DT is closed and I open tens (and sometimes - hundreds) of raw files DT starts but is unresponsive for a very long time. It's also impossible to say if anything is happening or if DT is hung.
A related problem is that xmp generation in this scenario is done in a single thread (while up to 8 background threads is configured in settings)

Opening files from a file manager while DT is running leads to a strange behaviour: mode is switched from lighttable to darkroom and then some processing starts. It's hard to say if DT is working or not as GUI may freeze or do strange things during initial XMP generation.

Usually, working with multiple files is not a problem for DT though: I can easily have a render task running while I edit next batch of photos. So my guess is that this is a problem with process arguments parsing

It would be nice to decouple somehow program startup and XMP generation for files in arguments. May be by creating a separate 'open' task for program to handle later on.

This may somehow be related to #5782 . While splash screen is not an ideal solution for this problem it's still better than looking up last generated XMP file in a directory.

Let me know if I failed to include any important details.

@github-actions
Copy link

This issue did not get any activity in the past 30 days and will be closed in 365 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.

@ralfbrown
Copy link
Collaborator

I took a look, and what is happening is that when you give dt commandline paths

  • directories are imported as background jobs, so you get UI updates while they progress
  • files are all imported in the foreground thread, so the UI can't update until everything has been imported

There is code to run a single-image import in a background task (used by the tethering code), but it doesn't seem to have UI update calls like the directory-import code does so my quick attempt to use it didn't work properly.

@johnny-bit johnny-bit added bug: pending someone needs to start working on that scope: DAM managing files, collections, archiving, metadata, etc. scope: performance doing everything the same but faster scope: UI user interface and interactions and removed no-issue-activity labels Jun 19, 2021
@johnny-bit johnny-bit added this to the 3.8 milestone Jun 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug: pending someone needs to start working on that scope: DAM managing files, collections, archiving, metadata, etc. scope: performance doing everything the same but faster scope: UI user interface and interactions
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants