Skip to content

Make Cinema DNG frames export multithread#297

Open
Gabboxl wants to merge 1 commit into
ilia3101:masterfrom
Gabboxl:cdng_parallel_export
Open

Make Cinema DNG frames export multithread#297
Gabboxl wants to merge 1 commit into
ilia3101:masterfrom
Gabboxl:cdng_parallel_export

Conversation

@Gabboxl
Copy link
Copy Markdown

@Gabboxl Gabboxl commented Aug 17, 2025

  • made CDNG export thread safe (dngObject_t struct must be created for each frame)
  • Cinema DNG export takes at least 50% less time (at least 2X faster, depending on CPU speed & core number. Sometimes it took even 70% less time on my PCs); the result is the same without differences

Fixes #86

- made CDNG export thread safe (dngObject_t struct must be created for each frame)
@masc4ii
Copy link
Copy Markdown
Collaborator

masc4ii commented Aug 24, 2025

This is much faster than before! Cool. Unfortunately the Progress (Status) Dialog doesn't work with this. Any chance to fix it?

@Gabboxl
Copy link
Copy Markdown
Author

Gabboxl commented Aug 25, 2025

This is much faster than before! Cool. Unfortunately the Progress (Status) Dialog doesn't work with this. Any chance to fix it?

Hi, thanks for testing! The progress dialog works, but at a very slow rate of refresh, only when the qApp->processEvents(); line gets hit, the dialog processes all the user input.
To fix this, the main thread must execute the processEvents() method continuously, leaving the other threads rendering all the frames. This is not happening right now because of OpenMP, which includes the main thread in the same team as all other threads.
By using OpenMP it is not really pretty to fix this, but I will look into refactoring this method without using OpenMP to fix the issue.

I would suggest merging this PR in the meantime, as refactoring this method will take me some time, which I think I won't have for at least a few weeks.

fijha added a commit to fijha/MLV-App that referenced this pull request Feb 25, 2026
Based on this 2 pull requests:

ilia3101#312
ilia3101#297
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dual iso rendering/export very slow

2 participants