well, about threads.

we have a fixed pool of worker threads, you can configure how many that is
in your config (but please don't go and do that now, hopefully it will
become clear why not). these guys have a work queue, which should really
have priorities but it doesn't at this point. there is the possibility to
bubble up your job in the list in case it becomes urgent, which is what the
thumbnail loading code does to render stuff in your viewing frustum first.

then there's `real time priority' jobs, for example rendering the image in
darkroom. there is an extra thread dedicated to that, so that there will be
no wait time. another one is rendering the preview image for the navigation
view in the top left and for downsized pixels when panning around. this
mode has sched_yield() calls and cancellation points here and there so it
won't starve the other rendering thread.

to complicate things some more, we excessively use openmp to parallelize on
top of that pthread based thread pool. so every one of those worker thread
will use #cores threads to process your image. this means that we're
overscheduling a fair bit.

-jo


On Tue, Jul 30, 2013 at 3:01 AM, Daniel J Blueman <[email protected]> wrote:

> It looks like we don't call setpriority(2) or equivalent to keep
> threads doing non-interactive work at a lower priority.
>
> This would make the GUI less slow when eg exporting or otherwise.
>
> Any objections or reasoning why not?
>
> Daniel
> --
> Daniel J Blueman
>
>
> ------------------------------------------------------------------------------
> See everything from the browser to the database with AppDynamics
> Get end-to-end visibility with application monitoring from AppDynamics
> Isolate bottlenecks and diagnose root cause in seconds.
> Start your free trial of AppDynamics Pro today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
> _______________________________________________
> darktable-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/darktable-devel
>
------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
_______________________________________________
darktable-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/darktable-devel

Reply via email to