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:
@@ -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());
|
||||
|
||||
|
@@ -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 */
|
||||
|
@@ -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; }
|
||||
|
Reference in New Issue
Block a user