How cheap a GPU will still speed up darktable?

Thank you @123sg for this post.

I didn’t know VideoProc and it is exactly what I am looking for to process video rushes before using them in diaporama. Simple but sufficient for me.

That’s good! That was my thought too when I found it, but I haven’t really used it yet :smile: Glad to hear it works!

You could look at this low profile card to see if it fits your configuration. I believe it doesn’t need separate power - good for low wattage as well .

ZOTAC GeForce GT 730 Zone Edition 4GB DDR3 PCI Express 2.0 x16 (x8 lanes) Graphics Card

1 Like

Hi Fred, and welcome. Thanks for the suggestion. I’ve already ordered a different card, but I do have a slight concern about it’s fitment… so I’ll look into this one too!

Hello again. Just an update -my new 1650 has arrived, I’ve installed it, and it’s grrreat!
I just tried an export of a 24mp image, including 2 instances of D&S.

Without OpenCL it took 49sec. with OpenCL on, set to “Very fast GPU” (Am I being optimistic?) and tuning set to ‘both’ it took about 9.5 sec. Pretty good I think. This is only approx timing using my phone stopwatch.
The card fits nicely in my SFF PC, although it fouled a corner of the main power connector on the motherboard. But I was able to carefully trim about 4mm off the corner of the plastic shell of the connector, and that did the trick.

2 Likes

no need for a stopwatch.

Start darktable.exe -d perf and you will get performance data (time) in the log.

1 Like

Thanks! I thought there’d be a better way to do it…
I need to do a bit of reading on the effect of the tuning options - as I switched between the different options, I had a few erratic timings, and a couple of crashes… I’m running the first ‘feature freeze’ weekly windows build at the moment, so I need to swap to the latest version too.

If you had crashes, we are interested in those before 4.2 gets released.

Ensure you install the lastest Nvidia drivers and use the latest windows build. If you get a crash, try to recreate with a log.

Thanks. I think I have the latest drivers - I downloaded the driver package from the Asus website (the manufacturer of my card) yesterday, and looking in device manager, the driver is dated 25/10/2022.
I’ve posted in the latest windows weekly thread too - the crashes were similar to what has been described there. What option should I use when starting DT to the most relevant log for this?

Ok, I’ve done a bit more testing, on the latest weekly now, and have enabled -d all -d verbose and -d opencl (too many?). I renamed the log file as it went back ages, and dt created a new one. I haven’t had any crashes as yet, but a few times I’ve closed dt after an export, then tried to restart it but the database is still locked, even after waiting at least a minute or so. Logging out of windows and in again fixes it.
Here’s the log - please let me know if there’s anything I should in the way of more info!
Another odd thing is that with this latest build, images take longer to export than with my last one (that was the first weekly windows with feature freeze) with open CL on, the older build took about 9sec, the new one takes about 15. I haven’t quite worked out how to get the timing from the log yet. with -d perf
darktable-log.txt (4.6 MB)

Go to Nvidia and download the latest drivers. I think there was a significant release a few days ago.

Second, just use -d perf The -d all is too much.

The fact that the database is lock means that there is something wrong (q process that never finished). Go ahead and delete all of the content (kernel and minimaps) in the location that has the log.

C:\Users\[username]\AppData\Local\Microsoft\Windows\INetCache\darktable\

1 Like

Do I want the Nvidia gaming or studio drivers…?

I use gaming, because of gaming.

MMmmm… I’m currently downloading studio, 'cause of studio. :wink: Guess I’ll try it. It’s certainly newer then my current driver.

I’m running the latest nvidia studio driver now, and also cleared the log location AND pointed dt to a new empty folder using tempdir, cachedir and tmpdir. All seemed great to start with with the OpenCL options in preferences set to ‘default’ and ‘none’. export time was quick around 7-9 sec depending on image. I set the 1st option to ‘very fast gpu’ which didn’t make much difference but worked fine. Next, setting the 2nd (tuning) option to ‘memory and tranfer’ (IIRC) slowed down export t0 around 30 sec.
After this I tried the combination of ’ very fast GPU’ and “memory only” (something like that) and the export stopped working… it just said ‘exporting 1/1’ indefinitely. And it still didn’t work even after setting the OpenCL options back to default.
I cleared all the config again, and that got things working once more, but I couldn’t recreate it with the same settings sequence. After a bit more fiddling it slowed down… and now after closing dt, it won’t start, with database locked.
Apologies for not being more concise - I’m not good at this sort of thing :woozy_face:
darktable-log 1st.txt (10.8 KB)
darktable-log.txt (21.7 KB)

I might just add that from my perspective, it’s working fine (and is quick) as long as I stick to default OpenCL settings - maybe some/most of my issues just arise from trying to use settings not suited to my system…

I switched to windows, updated MSYS2 and build to current master with an exe package. Installed it and I tried to recreate your steps. I started with default, openCL yes and no tunning. I processed 5-6 images in full changing zoom. All images are around 0.5sec. I then turned on memory and transfer, and the images still take 0.5sec. I cant recreate in my system/build.

For now, to narrow down the issue, keep the resources at default, openCL yes and no tunning. Lets see if you get into issues under these conditions first.

Also, when you call darktable, start from cmd and use darktable -d perf The log should look like this:

63.450470 [dev_pixelpipe] took 0.003 secs (0.000 CPU) [full] processed `crop' on GPU, blended on GPU
63.455108 [dev_pixelpipe] took 0.005 secs (0.000 CPU) [full] processed `input color profile' on GPU, blended on GPU
image colorspace transform Lab-->RGB took 0.002 secs (0.000 GPU) [channelmixerrgb ]
63.465852 [dev_pixelpipe] took 0.011 secs (0.016 CPU) [full] processed `color calibration' on GPU, blended on GPU
63.594794 [dev_pixelpipe] took 0.129 secs (0.125 CPU) [full] processed `diffuse or sharpen Local Contrast' on GPU, blended on GPU
63.610480 [dev_pixelpipe] took 0.016 secs (0.016 CPU) [full] processed `diffuse or sharpen Sharpen' on GPU, blended on GPU
63.615514 [dev_pixelpipe] took 0.005 secs (0.000 CPU) [full] processed `color balance rgb' on GPU, blended on GPU
63.620976 [dev_pixelpipe] took 0.005 secs (0.016 CPU) [full] processed `filmic rgb' on GPU, blended on GPU
image colorspace transform RGB-->Lab took 0.002 secs (0.000 GPU) [colorout ]
63.628217 [dev_pixelpipe] took 0.007 secs (0.000 CPU) [full] processed `output color profile' on GPU, blended on GPU
63.634033 [dev_pixelpipe] took 0.006 secs (0.000 CPU) [full] processed `display encoding' on CPU, blended on CPU
63.634661 [dev_process_image] pixel pipeline processing took 0.497 secs (1.625 CPU)

Thanks for your help.
I’m was starting dt from a shortcut, and adding the params to that, which works fine for thje config directories, but seems like I got something wrong with the -d perf. I started it from the terminal this time, and now I get a log like you show.
Everything works fine, and when I zoom in or out, the pixelpipe timing is almost the same regardless of the memory/transfer settings. Around 0.42 on the image I was using. However, exporting the image does show a difference - it was working fine with the defaults all round, but once I switched to ‘memory transfer’, the export failed, with dt still showing “exporting 1/1”, and if I then zoom the image in darkroom, the pixelpipe is much slower, at around 3sec, and the log seems to show that it’s stopped using the GPU.
In this copy/paste from the log, you can see the change, before and after I tried to export.

236.358334 [dev] took 0.000 secs (0.000 CPU) to load the image.
236.364859 [dev_pixelpipe] took 0.000 secs (0.000 CPU) initing base buffer [full]
236.423927 [dev_pixelpipe] took 0.059 secs (0.094 CPU) [full] processed `raw black/white point' on GPU, blended on GPU
236.467449 [dev_pixelpipe] took 0.043 secs (0.078 CPU) [full] processed `white balance' on GPU, blended on GPU
236.551641 [dev_pixelpipe] took 0.084 secs (0.172 CPU) [full] processed `highlight reconstruction' on CPU, blended on CPU
236.584121 [dev_pixelpipe] took 0.032 secs (0.031 CPU) [full] processed `demosaic' on GPU, blended on GPU
236.589164 [dev_pixelpipe] took 0.005 secs (0.000 CPU) [full] processed `exposure' on GPU, blended on GPU
236.595354 [dev_pixelpipe] took 0.006 secs (0.000 CPU) [full] processed `input color profile' on GPU, blended on GPU
image colorspace transform Lab-->RGB took 0.005 secs (0.000 GPU) [diffuse ]
236.650128 [dev_pixelpipe] took 0.055 secs (0.047 CPU) [full] processed `diffuse or sharpen' on GPU, blended on GPU
236.804976 [dev_pixelpipe] took 0.155 secs (0.156 CPU) [full] processed `diffuse or sharpen 1' on GPU, blended on GPU
236.819720 [dev_pixelpipe] took 0.015 secs (0.016 CPU) [full] processed `color balance rgb' on GPU, blended on GPU
236.827806 [dev_pixelpipe] took 0.008 secs (0.000 CPU) [full] processed `filmic rgb' on GPU, blended on GPU
image colorspace transform RGB-->Lab took 0.004 secs (0.016 GPU) [colorout ]
236.839173 [dev_pixelpipe] took 0.011 secs (0.016 CPU) [full] processed `output color profile' on GPU, blended on GPU
236.854891 [dev_pixelpipe] took 0.016 secs (0.062 CPU) [full] processed `display encoding' on CPU, blended on CPU
236.856426 [dev_process_image] pixel pipeline processing took 0.498 secs (0.688 CPU)
239.474694 [histogram] took 0.001 secs (0.000 CPU) scope draw
239.634132 [histogram] took 0.001 secs (0.000 CPU) scope draw
243.620565 [histogram] took 0.001 secs (0.000 CPU) scope draw
243.810703 [histogram] took 0.001 secs (0.000 CPU) scope draw
244.533241 [dev] took 0.000 secs (0.000 CPU) to load the image.
244.770641 [export] creating pixelpipe took 0.226 secs (0.266 CPU)
244.770751 [dev_pixelpipe] took 0.000 secs (0.000 CPU) initing base buffer [export]
284.629809 [dev] took 0.000 secs (0.000 CPU) to load the image.
284.636566 [dev_pixelpipe] took 0.000 secs (0.000 CPU) initing base buffer [full]
284.662102 [dev_pixelpipe] took 0.025 secs (0.094 CPU) [full] processed `raw black/white point' on CPU, blended on CPU
284.685026 [dev_pixelpipe] took 0.023 secs (0.047 CPU) [full] processed `white balance' on CPU, blended on CPU
284.744121 [dev_pixelpipe] took 0.059 secs (0.141 CPU) [full] processed `highlight reconstruction' on CPU, blended on CPU
284.769684 [dev_pixelpipe] took 0.025 secs (0.109 CPU) [full] processed `demosaic' on CPU, blended on CPU
284.775876 [dev_pixelpipe] took 0.006 secs (0.000 CPU) [full] processed `exposure' on CPU, blended on CPU
284.814848 [dev_pixelpipe] took 0.039 secs (0.094 CPU) [full] processed `input color profile' on CPU, blended on CPU
image colorspace transform Lab-->RGB took 0.013 secs (0.062 CPU) [diffuse ]
285.102779 [dev_pixelpipe] took 0.288 secs (0.953 CPU) [full] processed `diffuse or sharpen' on CPU, blended on CPU
286.314537 [dev_pixelpipe] took 1.212 secs (4.266 CPU) [full] processed `diffuse or sharpen 1' on CPU, blended on CPU
287.394352 [dev_pixelpipe] took 1.080 secs (4.250 CPU) [full] processed `color balance rgb' on CPU, blended on CPU
287.625233 [dev_pixelpipe] took 0.231 secs (0.859 CPU) [full] processed `filmic rgb' on CPU, blended on CPU
image colorspace transform RGB-->Lab took 0.008 secs (0.062 CPU) [colorout ]
287.648003 [dev_pixelpipe] took 0.023 secs (0.125 CPU) [full] processed `output color profile' on CPU, blended on CPU
287.656675 [dev_pixelpipe] took 0.009 secs (0.000 CPU) [full] processed `display encoding' on CPU, blended on CPU
287.658158 [dev_process_image] pixel pipeline processing took 3.028 secs (10.938 CPU)
289.477856 [dev] took 0.000 secs (0.000 CPU) to load the image.

Can you share what are your export settings? I see that the system stops using the GPU after the export.

I can’t get dt to start now (using my the test config setup)… but it was pretty much defaults all the way through. Jpg at 90% quality.

After logging out and in DT started - I had already told it to delete the database files after checkiong it wasn’t running - I think the export problem leaves something running and that may be why the database locked problem occurs?image