-BENCHMARK function when used with -DUMPMOVIE

I had originally thought that this was an issue with the -DUMPMOVIE function but as it turns out I believe the bug is in the -BENCHMARK command line function. I’m not sure if it is there and broken or just an oversight. But currently it doesn’t hold the next frame from being played until -DUMPMOVIE has finished writing the frame. So while your written frames may not have gaps your are not capturing anywhere near all of the frames. Especially if you are using very highly detailed and/or -DUMP_TILED, It should hold and wait till the frame is written before advancing to the next frame

I found the dropped frame issue can be reproduced in just about any project. it works and can be tested with any project. Try to capture 1080p frames sequence using it in conjunction with -BENCHMARK and FPS=24 then set a limit of say 10 seconds. This should produce a frame sequence of 240 frames. This sequence should play back smooth as butter even though you machine is stopping to record the frame. But it wont! and you will most likely have a number less than 240. Most likely way less. What is actually happening is while the machine is writing the frame Unreal is going on continuing to play though while the frame is writing and then when the frame is finished being written the game then start writing then begins recording a new frame. The problem is since benchmark is not waiting for the frame to be finished writing before advancing to the next frame, you get gaps. Not in the numbers of the frames mind you but in the playback of the animation. This is also evident in that the number of frames will be less than the the sum of FPS*duration. The only thing needed is a check to be added to the BENCHMARK function that when it is used in conjunction with DUMPMOVIE or DUMP_TILED that it holds at the end of each frame to wait for the frame to write before advancing. If this is done then you can even use DUMP_TILE=2 a and dump an animation of 4K frames with a minimum level card and still achieve silky smooth playback. Granted the time per frame will be several seconds but as long as the BENCHMARK functions hold the advancement of the animation and waits for the frame to be written then there will be no problem you can go as big as you system will do without crashing or running out of drive space.

So what it boils down to is a write completion check built into the BENCHMARK function. From what I understand this is the way it is designed to work so it make be there and just not functioning properly.

Posted on your forums post as well.

I got a build last week that is our internal that could finally package a project and test this out. I did see the discrepancies. I’ve setup a meeting a with one of our Cinematics team for Wednesday afternoon (tomorrow) to go over Epic’s process from beginning to end.

From talking with him in email, these command lines are no longer used for any cinematics. It’s all done with the record and movie tools in Matinee.

I’ll let you know what happens.

Hey James,

So after talking with one of Cinematics Team leads the process that they use is all the tools inside UE4.

He walked through the creation process by creating a matinee. When it was time to render out the images the All the options were checked in the window form Cinematic Mode down.

It was suggested that you may want to enable the “Close the editor when the capture starts” option as well.

Once these images were rendered, or even the video, they are brought into Adobe Premiere and from there the sound, titles, and all the bells and whistles are added.

This is Epics process. The Command Line Arguments are no longer used internally.

Speaking with another dev regarding the command line arguments -BENCHMARK and -FPS are not supposed to work with a packaged project in this way. There is a feature request in for -DUMPMOVIE to be enabled for non-packaged projects (UE-4879), however this is marked as “Trivial”. Feature requests are not guaranteed to make it in the engine.

I know this is a bit old, but I have a similar question that has been open on this issue. DUMPMOVIE + BENCHMARK missing frames - Debugging, Optimization, & Profiling - Unreal Engine Forums. Unless there is additional context, the OP doesn’t seem to be recording cinematics specifically. For example, I use Unreal to visualize simulation data which I run from individual maps. Each map has an object which references a config file I can change offline. So, using -DUMPMOVIE and -BENCHMARK I could automate the processing of many simulations, which is critical. Or, even better, I can distribute my binary to other team members as a tool deploy-able from the command line. That doesn’t seem possible if I try to use matinee.