On 13-06-03 02:29 PM, johannes hanika wrote:
> use the exposure module directly instead of scrolling the histogram. that
> should be faster.
>
> j.
>
>
> On Tue, Jun 4, 2013 at 8:58 AM, Daniel Karch <[email protected]> wrote:
>
>> Hi,
>>
>> I just switched to Darktable from Aftershot Pro, and although I am getting
>> to grips with it,
>> I found it to be less responsive then ASP, for example when adjusting
>> exposure with the
>> histogram: I would click on the histogram, move the mouse to the right to
>> increase the exposure,
>> and nothing would happen for more than a second. Then, there would be a
>> "jump" in the
>> histogram. It was difficult to fine-tune the exposure that way.
>> After some investigation, I found that this process would be much smoother
>> when the denoise
>> plugins were disabled (I used profiled denoise). It seems that the denoise
>> plugin is applied
>> constantly while I changed the exposure, thereby slowing down the process.
>> An obvious
>> workaround would be to just disable denoise and only apply it after I am
>> happy with the
>> exposure. But in my opinion it would be even better if such heavy plugins
>> could be temporarily
>> disabled, i.e.:
>>
>> - User clicks on histogram: Disable CPU-heavy plugins
>> - User moves mouse around: Immediately update exposure
>> - User releases mouse button: Re-apply CPU-heavy plugins
>>
>> I hope that was understandable. Keep up the good work!
>>
>> Best regards
>>
>> Daniel
There is no doubt that denoise_profile is computationally intensive.
Here is a paste of relevant parts of an image processing chain. First
building the opencl structures:
(from darktable -d perf -d opencl)
******
[opencl_init] opencl related configuration options:
[opencl_init]
[opencl_init] opencl: 1
[opencl_init] opencl_library: ''
[opencl_init] opencl_memory_requirement: 768
[opencl_init] opencl_memory_headroom: 300
[opencl_init] opencl_device_priority: '*/!0,*/*/*'
[opencl_init] opencl_size_roundup: 16
[opencl_init] opencl_async_pixelpipe: 0
[opencl_init] opencl_synch_cache: 0
[opencl_init] opencl_number_event_handles: 25
[opencl_init] opencl_micro_nap: 1000
[opencl_init] opencl_avoid_atomics: 0
[opencl_init] opencl_omit_whitebalance: 0
[opencl_init]
[opencl_init] trying to load opencl library: '<system default>'
[opencl_init] opencl library 'libOpenCL' found on your system and loaded
[opencl_init] found 1 platform
[opencl_init] found 1 device
[opencl_init] device 0 `GeForce GT 630' has sm_20 support.
[opencl_init] device 0 `GeForce GT 630' supports image sizes of 32768 x
32768
[opencl_init] device 0 `GeForce GT 630' allows GPU memory allocations of
up to 511MB
[opencl_init] device 0: GeForce GT 630
GLOBAL_MEM_SIZE: 2047MB
MAX_WORK_GROUP_SIZE: 1024
MAX_WORK_ITEM_DIMENSIONS: 3
MAX_WORK_ITEM_SIZES: [ 1024 1024 64 ]
DRIVER_VERSION: 304.88
DEVICE_VERSION: OpenCL 1.1 CUDA
[opencl_init] compiling program `demosaic_ppg.cl' ..
[opencl_load_program] loaded cached binary program from file
`/home/jb/.cache/darktable/cached_kernels_for_GeForceGT630/demosaic_ppg.cl.bin'
[opencl_load_program] successfully loaded program from
`/usr/share/darktable/kernels/demosaic_ppg.cl'
[opencl_build_program] successfully built program
[opencl_build_program] BUILD STATUS: 0
... and the final image export processing times:
[pixelpipe_process] [export] using device 0
[dev_pixelpipe] took 0.000 secs (0.000 CPU) initing base buffer [export]
[dev_pixelpipe] took 0.038 secs (0.024 CPU) processing `white balance'
[export]
[dev_pixelpipe] took 0.032 secs (0.012 CPU) processing `highlight
reconstruction' [export]
[dev_pixelpipe] took 0.234 secs (0.120 CPU) processing `demosaic' [export]
[dev_pixelpipe] took 37.088 secs (17.080 CPU) processing `denoise
(profiled)' [export]
[dev_pixelpipe] took 0.043 secs (0.016 CPU) processing `exposure' [export]
[dev_pixelpipe] took 0.069 secs (0.028 CPU) processing `base curve' [export]
[dev_pixelpipe] took 0.055 secs (0.036 CPU) processing `input color
profile' [export]
[dev_pixelpipe] took 0.221 secs (0.092 CPU) processing `color zones'
[export]
[dev_pixelpipe] took 0.378 secs (0.204 CPU) processing `monochrome' [export]
[dev_pixelpipe] took 0.221 secs (0.096 CPU) processing `sharpen' [export]
[dev_pixelpipe] took 0.102 secs (0.048 CPU) processing `output color
profile' [export]
[dev_pixelpipe] took 0.067 secs (0.040 CPU) processing `overexposed'
[export]
[opencl_profiling] spent 0.0126 seconds in [Write Image (from host to
device)]
[opencl_profiling] spent 0.0229 seconds in whitebalance_1ui
[opencl_profiling] spent 0.0292 seconds in highlights_1f
[opencl_profiling] spent 0.0698 seconds in ppg_demosaic_green
[opencl_profiling] spent 0.1381 seconds in ppg_demosaic_redblue
[opencl_profiling] spent 0.0247 seconds in border_interpolate
[opencl_profiling] spent 0.0609 seconds in denoiseprofile_precondition
[opencl_profiling] spent 0.0157 seconds in denoiseprofile_init
[opencl_profiling] spent 6.3740 seconds in denoiseprofile_dist
[opencl_profiling] spent 2.8385 seconds in denoiseprofile_horiz
[opencl_profiling] spent 17.4339 seconds in denoiseprofile_vert
[opencl_profiling] spent 10.1272 seconds in denoiseprofile_accu
[opencl_profiling] spent 0.0882 seconds in denoiseprofile_finish
[opencl_profiling] spent 0.0419 seconds in exposure
[opencl_profiling] spent 0.0652 seconds in basecurve
[opencl_profiling] spent 0.0508 seconds in colorin
[opencl_profiling] spent 0.0965 seconds in colorzones
[opencl_profiling] spent 0.0202 seconds in blendop_mask_Lab
[opencl_profiling] spent 0.0972 seconds in blendop_Lab
[opencl_profiling] spent 0.0001 seconds in zero
[opencl_profiling] spent 0.0425 seconds in monochrome_filter
[opencl_profiling] spent 0.2032 seconds in splat
[opencl_profiling] spent 0.0018 seconds in [Copy Buffer to Buffer (on
device)]
[opencl_profiling] spent 0.0063 seconds in blur_line
[opencl_profiling] spent 0.0008 seconds in blur_line_z
[opencl_profiling] spent 0.0453 seconds in slice
[opencl_profiling] spent 0.0726 seconds in monochrome
[opencl_profiling] spent 0.0780 seconds in sharpen_hblur
[opencl_profiling] spent 0.0715 seconds in sharpen_vblur
[opencl_profiling] spent 0.0699 seconds in sharpen_mix
[opencl_profiling] spent 0.0985 seconds in colorout
[opencl_profiling] spent 0.0639 seconds in [Copy Image (on device)]
[opencl_profiling] spent 0.2171 seconds in [Read Image (from device to
host)]
[opencl_profiling] spent 38.5791 seconds totally in command queue (with
0 events missing)
[dev_process_export] pixel pipeline processing took 39.107 secs (19.356 CPU)
[export_job] exported to
`/home/jb/Photos/2013/20130604/darktable_exported/K52S2921.jpg'
[opencl_summary_statistics] device 'GeForce GT 630': 29110 out of 29110
events were successful and 0 events lost
*******
The times speak for themselves. The results are worth it for me.
Jack
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Darktable-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/darktable-users