forked from bartvdbraak/blender
Fix T51450: viewport render time keeps increasing after render is done.
Reviewed By: brecht Differential Revision: https://developer.blender.org/D2747
This commit is contained in:
parent
b7fb00f512
commit
e93804318f
@ -961,6 +961,7 @@ void Session::update_status_time(bool show_pause, bool show_done)
|
||||
}
|
||||
else if(show_done) {
|
||||
status = "Done";
|
||||
progress.set_end_time(); /* Save end time so that further calls to get_time are accurate. */
|
||||
}
|
||||
else {
|
||||
status = substatus;
|
||||
|
@ -41,6 +41,7 @@ public:
|
||||
denoised_tiles = 0;
|
||||
start_time = time_dt();
|
||||
render_start_time = time_dt();
|
||||
end_time = 0.0;
|
||||
status = "Initializing";
|
||||
substatus = "";
|
||||
sync_status = "";
|
||||
@ -80,6 +81,7 @@ public:
|
||||
denoised_tiles = 0;
|
||||
start_time = time_dt();
|
||||
render_start_time = time_dt();
|
||||
end_time = 0.0;
|
||||
status = "Initializing";
|
||||
substatus = "";
|
||||
sync_status = "";
|
||||
@ -146,6 +148,7 @@ public:
|
||||
thread_scoped_lock lock(progress_mutex);
|
||||
|
||||
start_time = time_dt();
|
||||
end_time = 0.0;
|
||||
}
|
||||
|
||||
void set_render_start_time()
|
||||
@ -169,8 +172,15 @@ public:
|
||||
{
|
||||
thread_scoped_lock lock(progress_mutex);
|
||||
|
||||
total_time_ = time_dt() - start_time;
|
||||
render_time_ = time_dt() - render_start_time;
|
||||
double time = (end_time > 0) ? end_time : time_dt();
|
||||
|
||||
total_time_ = time - start_time;
|
||||
render_time_ = time - render_start_time;
|
||||
}
|
||||
|
||||
void set_end_time()
|
||||
{
|
||||
end_time = time_dt();
|
||||
}
|
||||
|
||||
void reset_sample()
|
||||
@ -337,6 +347,8 @@ protected:
|
||||
int rendered_tiles, denoised_tiles;
|
||||
|
||||
double start_time, render_start_time;
|
||||
/* End time written when render is done, so it doesn't keep increasing on redraws. */
|
||||
double end_time;
|
||||
|
||||
string status;
|
||||
string substatus;
|
||||
|
@ -1237,7 +1237,7 @@ static void render_view3d_startjob(void *customdata, short *stop, short *do_upda
|
||||
use_border = render_view3d_disprect(rp->scene, rp->ar, rp->v3d,
|
||||
rp->rv3d, &cliprct);
|
||||
|
||||
if ((update_flag & (PR_UPDATE_RENDERSIZE | PR_UPDATE_DATABASE)) || rstats->convertdone == 0) {
|
||||
if ((update_flag & (PR_UPDATE_RENDERSIZE | PR_UPDATE_DATABASE | PR_UPDATE_VIEW)) || rstats->convertdone == 0) {
|
||||
RenderData rdata;
|
||||
|
||||
/* no osa, blur, seq, layers, savebuffer etc for preview render */
|
||||
|
Loading…
Reference in New Issue
Block a user