diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-02-21 15:29:27 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-02-21 15:30:29 +0300 |
commit | 888d81018548eab1b33b5a6811f55f0b8b3c1749 (patch) | |
tree | 9b42eb9fb3b79f2dad7fd2a964a79bf796bf41c2 /intern | |
parent | a97bc1bedf6fa63cbafbc9f004f9a6c8f472ae44 (diff) |
Cycles: Use lower progressive update timeout for preview rendering
This ways previews are refreshing with the same ratio as job was expecting
this to happen, giving more instant feedback on the changes.
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); } |