From 888d81018548eab1b33b5a6811f55f0b8b3c1749 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Sat, 21 Feb 2015 17:29:27 +0500 Subject: 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. --- intern/cycles/blender/blender_sync.cpp | 7 +++++++ intern/cycles/render/session.cpp | 2 +- intern/cycles/render/session.h | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) (limited to 'intern') 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); } -- cgit v1.2.3