Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--intern/cycles/blender/blender_session.cpp14
-rw-r--r--intern/cycles/blender/blender_session.h3
-rw-r--r--intern/cycles/render/session.cpp8
3 files changed, 21 insertions, 4 deletions
diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp
index c6f016b7971..4fa87815601 100644
--- a/intern/cycles/blender/blender_session.cpp
+++ b/intern/cycles/blender/blender_session.cpp
@@ -76,6 +76,10 @@ void BlenderSession::create_session()
SceneParams scene_params = BlenderSync::get_scene_params(b_scene);
SessionParams session_params = BlenderSync::get_session_params(b_scene, background);
+ /* reset status/progress */
+ last_status= "";
+ last_progress= -1.0f;
+
/* create scene */
scene = new Scene(scene_params);
@@ -264,8 +268,14 @@ void BlenderSession::update_status_progress()
if(substatus.size() > 0)
status += " | " + substatus;
- RE_engine_update_stats((RenderEngine*)b_engine.ptr.data, "", status.c_str());
- RE_engine_update_progress((RenderEngine*)b_engine.ptr.data, progress);
+ if(status != last_status) {
+ RE_engine_update_stats((RenderEngine*)b_engine.ptr.data, "", status.c_str());
+ last_status = status;
+ }
+ if(progress != last_progress) {
+ RE_engine_update_progress((RenderEngine*)b_engine.ptr.data, progress);
+ last_progress = progress;
+ }
}
void BlenderSession::tag_update()
diff --git a/intern/cycles/blender/blender_session.h b/intern/cycles/blender/blender_session.h
index 8608ddd2658..e30b60c3d63 100644
--- a/intern/cycles/blender/blender_session.h
+++ b/intern/cycles/blender/blender_session.h
@@ -70,6 +70,9 @@ public:
BL::SpaceView3D b_v3d;
BL::RegionView3D b_rv3d;
+ string last_status;
+ float last_progress;
+
int width, height;
};
diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp
index 50f7017bacf..2deb83674cc 100644
--- a/intern/cycles/render/session.cpp
+++ b/intern/cycles/render/session.cpp
@@ -170,8 +170,10 @@ void Session::run_gpu()
if(params.background) {
/* if no work left and in background mode, we can stop immediately */
- if(no_tiles)
+ if(no_tiles) {
+ progress.set_status("Finished");
break;
+ }
}
else {
/* if in interactive mode, and we are either paused or done for now,
@@ -305,8 +307,10 @@ void Session::run_cpu()
if(params.background) {
/* if no work left and in background mode, we can stop immediately */
- if(no_tiles)
+ if(no_tiles) {
+ progress.set_status("Finished");
break;
+ }
}
else {
/* if in interactive mode, and we are either paused or done for now,