I am using darktable for quite a bit now. I recently noticed quite a difference when i view the image in darkroom vs zoomed in to 100%. When i develop a image and view it in a viewer i get same result as when zoomed in to 100%. I am aware that Darktable can only calculate the preview in Darkroom when zoomed in to 100% accurately. I had to go back and forth to get the result that i wanted because of that. In the image i used multiple instances of diffuse and sharpen and the contrast was very different. Is there a way to reduce that effect by changing some settings of darktable?
This is my understanding, based on previous discussion. May well be wrong.
When you edit, for sake of efficiency (unless you zoom in), darktable will run calculations at a lower resolution. When you zoom in to 100%, or export at full resolution, darktable uses the full-res calculations, which may not match the preview.
If you export at less than 100%, you have two options: high quality resampling: yes/no.
yes means that even though you export at a lower resolution, darktable should develop the full-resolution image, and then downscale the result. This will match the 100% preview (scaled down). no, on the other hand, means that darktable should process in lower resolution from the start; that will more closely match the editor.
I wish the developers found a way to fix that.
Yes means, process the full pipeline at full resolution and down/upscale just before exporting. So far correct but: The preview at the top left is fully processed on downscaled data and that downscaling takes place at the very start of all module processing!
no means, downscale right after demosaicing and use those data for module processing. BTW this is like we process in darkroom mode when zooming in & out.
In addition to this,
- some cpu/gpu hungry modules might not process the same way for the top left preview. Again for performance reasons. (We even have some switches in preferences for worse quality to keep perf ok on slower machines.)
- In some cases the chosen scaling interpolator might add some difference, bicubic less than the lanc variants.
You might want to run dt with -d pipe
the area of processed data is shown for each module plus scaling info in the pipeline.
Thank you for your information. The screenshot you attached is from export module is that correct? So high quality resampling only affects the exported image?
I’d be interested in the opposite: a config switch or (probably better) a darkroom button to render at full resolution, but fit to the screen/current zoom level, at the expense of speed. It’s rather annoying to see loss of contrast on export; and at 100% zoom, I only see a small portion of the image, making it hard to judge overall contrast.
Yes, see the explanation from Hanno (he’s a dev, unlike me).
my sentiment exactly. I am interested as well in a solution like that.
The scaling of export pipeline and colorout issues are on my “to do” list for 4.6 anyway. We already have github issue 13682, maybe you do some proposals there, these points are closely related regarding the pixelpipe.