Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/blender/blender_session.cpp
| Show First 20 Lines • Show All 62 Lines • ▼ Show 20 Lines | : b_engine(b_engine), | ||||
| /* offline render */ | /* offline render */ | ||||
| width = render_resolution_x(b_render); | width = render_resolution_x(b_render); | ||||
| height = render_resolution_y(b_render); | height = render_resolution_y(b_render); | ||||
| background = true; | background = true; | ||||
| last_redraw_time = 0.0; | last_redraw_time = 0.0; | ||||
| start_resize_time = 0.0; | start_resize_time = 0.0; | ||||
| last_status_time = 0.0; | |||||
| } | } | ||||
| BlenderSession::BlenderSession(BL::RenderEngine& b_engine, | BlenderSession::BlenderSession(BL::RenderEngine& b_engine, | ||||
| BL::UserPreferences& b_userpref, | BL::UserPreferences& b_userpref, | ||||
| BL::BlendData& b_data, | BL::BlendData& b_data, | ||||
| BL::Scene& b_scene, | BL::Scene& b_scene, | ||||
| BL::SpaceView3D& b_v3d, | BL::SpaceView3D& b_v3d, | ||||
| BL::RegionView3D& b_rv3d, | BL::RegionView3D& b_rv3d, | ||||
| Show All 9 Lines | : b_engine(b_engine), | ||||
| height(height), | height(height), | ||||
| python_thread_state(NULL) | python_thread_state(NULL) | ||||
| { | { | ||||
| /* 3d view render */ | /* 3d view render */ | ||||
| background = false; | background = false; | ||||
| last_redraw_time = 0.0; | last_redraw_time = 0.0; | ||||
| start_resize_time = 0.0; | start_resize_time = 0.0; | ||||
| last_status_time = 0.0; | |||||
| } | } | ||||
| BlenderSession::~BlenderSession() | BlenderSession::~BlenderSession() | ||||
| { | { | ||||
| free_session(); | free_session(); | ||||
| } | } | ||||
| void BlenderSession::create() | void BlenderSession::create() | ||||
| ▲ Show 20 Lines • Show All 880 Lines • ▼ Show 20 Lines | void BlenderSession::update_status_progress() | ||||
| timestatus += string_printf("Mem:%.2fM, Peak:%.2fM", (double)mem_used, (double)mem_peak); | timestatus += string_printf("Mem:%.2fM, Peak:%.2fM", (double)mem_used, (double)mem_peak); | ||||
| if(status.size() > 0) | if(status.size() > 0) | ||||
| status = " | " + status; | status = " | " + status; | ||||
| if(substatus.size() > 0) | if(substatus.size() > 0) | ||||
| status += " | " + substatus; | status += " | " + substatus; | ||||
| if(status != last_status) { | double current_time = time_dt(); | ||||
| /* When rendering in a window, redraw the status at least once per second to keep the elapsed and remaining time up-to-date. | |||||
| * For headless rendering, only report when something significant changes to keep the console output readable. */ | |||||
| if(status != last_status || (!headless && (current_time - last_status_time) > 1.0)) { | |||||
| b_engine.update_stats("", (timestatus + scene + status).c_str()); | b_engine.update_stats("", (timestatus + scene + status).c_str()); | ||||
| b_engine.update_memory_stats(mem_used, mem_peak); | b_engine.update_memory_stats(mem_used, mem_peak); | ||||
| last_status = status; | last_status = status; | ||||
| last_status_time = current_time; | |||||
| } | } | ||||
| if(progress != last_progress) { | if(progress != last_progress) { | ||||
| b_engine.update_progress(progress); | b_engine.update_progress(progress); | ||||
| last_progress = progress; | last_progress = progress; | ||||
| } | } | ||||
| if(session->progress.get_error()) { | if(session->progress.get_error()) { | ||||
| string error = session->progress.get_error_message(); | string error = session->progress.get_error_message(); | ||||
| ▲ Show 20 Lines • Show All 356 Lines • Show Last 20 Lines | |||||