diff options
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/blender/blender_sync.cpp | 7 | ||||
-rw-r--r-- | intern/cycles/render/session.cpp | 2 | ||||
-rw-r--r-- | intern/cycles/render/session.h | 3 |
3 files changed, 11 insertions, 1 deletions
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index fe33ccbc6c1..985a3cd3d5a 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -554,6 +554,13 @@ SessionParams BlenderSync::get_session_params(BL::RenderEngine b_engine, b_engine.support_display_space_shader(b_scene); } + if(b_engine.is_preview()) { + /* For preview rendering we're using same timeout as + * blender's job update. + */ + params.progressive_update_timeout = 0.1; + } + return params; } diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index c633f4b8497..99826aa4349 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -889,7 +889,7 @@ bool Session::update_progressive_refine(bool cancel) double current_time = time_dt(); - if (current_time - last_update_time < 1.0) { + if (current_time - last_update_time < params.progressive_update_timeout) { /* if last sample was processed, we need to write buffers anyway */ if (!write) return false; diff --git a/intern/cycles/render/session.h b/intern/cycles/render/session.h index a39a2a081dd..c77652d3722 100644 --- a/intern/cycles/render/session.h +++ b/intern/cycles/render/session.h @@ -59,6 +59,7 @@ public: double cancel_timeout; double reset_timeout; double text_timeout; + double progressive_update_timeout; ShadingSystem shadingsystem; @@ -80,6 +81,7 @@ public: cancel_timeout = 0.1; reset_timeout = 0.1; text_timeout = 1.0; + progressive_update_timeout = 1.0; shadingsystem = SHADINGSYSTEM_SVM; tile_order = TILE_CENTER; @@ -101,6 +103,7 @@ public: && cancel_timeout == params.cancel_timeout && reset_timeout == params.reset_timeout && text_timeout == params.text_timeout + && progressive_update_timeout == params.progressive_update_timeout && tile_order == params.tile_order && shadingsystem == params.shadingsystem); } |