Cycles / CPU Rendering:

* "Auto Detect" now again uses the umber of cores, instead number of cores + 1.

This was added before we had Tile rendering and benchmarks on several systems showed that there is no gain with this now. There might be some slight difference (0.5% or so) slower/faster depending on the scene, but this is negligible.
This commit is contained in:
Thomas Dinges
2013-07-20 00:40:03 +00:00
parent a2a99bbc17
commit 9732c6283e
3 changed files with 6 additions and 7 deletions

View File

@@ -307,8 +307,7 @@ public:
void task_add(DeviceTask& task)
{
/* split task into smaller ones, more than number of threads for uneven
* workloads where some parts of the image render slower than others */
/* split task into smaller ones */
list<DeviceTask> tasks;
task.split(tasks, TaskScheduler::num_threads());

View File

@@ -186,12 +186,12 @@ void TaskScheduler::init(int num_threads)
do_exit = false;
if(num_threads == 0) {
/* automatic number of threads will be main thread + num cores */
/* automatic number of threads */
num_threads = system_cpu_thread_count();
}
else {
/* main thread will also work, for fixed threads we count it too */
num_threads -= 1;
/* manual number of threads */
num_threads;
}
/* launch threads that will be waiting for work */

View File

@@ -94,8 +94,8 @@ public:
static void init(int num_threads = 0);
static void exit();
/* number of threads that can work on tasks, main thread counts too */
static int num_threads() { return threads.size() + 1; }
/* number of threads that can work on task */
static int num_threads() { return threads.size(); }
/* test if any session is using the scheduler */
static bool active() { return users != 0; }