@@ -126,6 +126,7 @@ void MovieWriter::begin(const Size2i &p_movie_size, uint32_t p_fps, const String
126126
127127 cpu_time = 0 .0f ;
128128 gpu_time = 0 .0f ;
129+ encoding_time = 0 ;
129130
130131 mix_rate = get_audio_mix_rate ();
131132 AudioDriverDummy::get_dummy_singleton ()->set_mix_rate (mix_rate);
@@ -216,11 +217,18 @@ void MovieWriter::add_frame() {
216217 gpu_time += RenderingServer::get_singleton ()->viewport_get_measured_render_time_gpu (main_vp_rid);
217218
218219 AudioDriverDummy::get_dummy_singleton ()->mix_audio (mix_rate / fps, audio_mix_buffer.ptr ());
220+
221+ int encoding_start = Time::get_singleton ()->get_ticks_usec ();
219222 write_frame (vp_tex, audio_mix_buffer.ptr ());
223+ int encoding_end = Time::get_singleton ()->get_ticks_usec ();
224+ encoding_time += encoding_end - encoding_start;
220225}
221226
222227void MovieWriter::end () {
228+ int encoding_start = Time::get_singleton ()->get_ticks_usec ();
223229 write_end ();
230+ int encoding_end = Time::get_singleton ()->get_ticks_usec ();
231+ encoding_time += encoding_end - encoding_start;
224232
225233 // Print a report with various statistics.
226234 print_line (" --------------------------------------------------------------------------------" );
@@ -249,5 +257,6 @@ void MovieWriter::end() {
249257 print_line (vformat (" %d frames at %d FPS (movie length: %s), recorded in %s (%d%% of real-time speed)." , Engine::get_singleton ()->get_frames_drawn (), fps, movie_time, real_time, (float (MAX (1 , movie_time_seconds)) / MAX (1 , real_time_seconds)) * 100 ));
250258 print_line (vformat (" CPU time: %.2f seconds (average: %.2f ms/frame)" , cpu_time / 1000 , cpu_time / Engine::get_singleton ()->get_frames_drawn ()));
251259 print_line (vformat (" GPU time: %.2f seconds (average: %.2f ms/frame)" , gpu_time / 1000 , gpu_time / Engine::get_singleton ()->get_frames_drawn ()));
260+ print_line (vformat (" Encoding time: %.2f seconds (average: %.2f ms/frame)" , encoding_time / 1000000 .f , encoding_time / 1000 .f / Engine::get_singleton ()->get_frames_drawn ()));
252261 print_line (" --------------------------------------------------------------------------------" );
253262}
0 commit comments