Variable FPS with benchmark possible?

I’ve been recording from demos using the -BENCHMARK and -FPS launch commands, along with r.dumpingmovie. However, I was hoping that there was a solution that allows the same type of capture (static FPS capture no matter how long it takes each frame to render) which could be changed in-game.

For example, if I wanted to record some section of a demo at 1200 FPS (for slowmotion or something), with the current method I would need to launch the game with -BENCHMARK -FPS 1200, which would make the entire demo / game run slow.

Ideally I would be able to only use the benchmark mode whilst dumping the movie. And/or change the FPS it records at on the fly. So I could play the demo back at 100fps (approximately realtime), then when I want to record something, bump up the FPS.

Any ideas if this is possible? Preferably through console commands, or blueprints.

One way (using C++) is to subclass world settings and override the FixupDeltaSeconds function.

This allows you to return a modified (e.g. fixed) delta time.

Interesting. Would that also mean you could force the ‘benchmark’ mode without using the launch command? EG. in-game you could force the game to render every frame before moving on?

Yeah.

Also I just found there’s useful exposed static methods on FApp: SetUseFixedTimeStep(bool), SetFixedDeltaTime(double) and SetBenchmarking(bool), which can be changed at runtime.