Movie Render Queue freeze at lower values for "Maximum Screen Space Error"

Hi, I’ve set up a sequencer in a basic UE5.2 project with Cesium World Terrain. I can successfully render this via Movie Render Queue at higher “Maximum Screen Space Error” (e.g., 10.0-16.0) for Cesium World Terrain, but the exact same render freezes at the same frame (in my case 1127/3600) at lower values for “Maximum Screen Space Error” (e.g., 5.0-1.0).

A few observations from my troubleshooting:

  • This behaviour is not sensitive to the export frame resolution (tested @ 800x480 and 3840x2160) or any other setting in Movie Render Queue (i.e., export format, AA)

  • Tested as both a Local Render (freezes UE requiring restart) and a Remote Render (freezes remote session)

  • Attempted render restart at next frame after the crash - render fails to initiate

  • System resources appear to be fine (VRAM ~10/24Gb and RAM ~20/64Gb)

  • Render freeze persistent at both low/high “Maximum Cached Bytes”

  • Rendering via Movie Scene Capture (Legacy) has similar behaviour i.e., is successful at higher “Maximum Screen Space Error” but fails to start at lower “Maximum Screen Space Error”

  • The last cmd line contains the following warning, but this also appears during the successful lower “Maximum Screen Space Error” renders, so I’m thinking it is not the point of failure:
    2023.08.24-22.35.59:199][465]LogConsoleManager: Warning: Performance warning: Console object named ‘r.AntiAliasingMethod’ shows many (500) FindConsoleObject() calls (consider caching e.g. using static)

Wondering if anyone has any ideas what might be causing this freeze and how it might be overcome?

1 Like

How long have you waited? Low SSE values can require a lot of data to be loaded. Each halving of the Max SSE value roughly quadruples the data that needs to be loaded. Perhaps even multiplies by 8x in dense city environment with (for example) the Google Photorealistic 3D Tiles. So going from a Max SSE of 16 to a Max SSE of 1 requires loading about 256 times more data (or more). That can take awhile. Because Cesium for Unreal waits for the data to all load before allowing Unreal to snap the frame, Unreal will appear to be hung during this time.

Hey Kevin. Waiting for the render to begin requires a little patience, but it does eventually get going. Whereas this mid-render freeze doesn’t recover - I’ve left it overnight on a few occasions. I generally know when the render freezes before even looking at my screen because the GPU winds down. I also thought it might be a GPU timeout issue, but I’ve been able to run much longer renders with higher SSE values without issue.

Ok, thanks. Can you provide detailed step-by-step instructions for us to reproduce this ourselves? I can’t really think what would cause what you’re seeing, but if I can reproduce it then I can investigate.

Hi Kevin. I’ve reproduced this issue in the Cesium for Unreal Samples Project, step-by-step below:

  1. Create new UE5.2 Cesium for Unreal Samples Project (via Epic Games)

  2. Open project - level “01_CesiumWorld”

  3. Add level sequencer to level from top toolbar

  4. Add Cine Camera Actor to level via “Place Actors”

  5. “Open Level Sequence” and add CineCameraActor1 track

  6. Adjust sequencer to “Show Time As: Sec”. Adjust clip length to 45 seconds

  7. Adjust frame rate to 60fps (total frames = 2700)

  8. Keyframe CineCameraActor1:Transform @ 0 and 45s (shown below) to create a zoom out effect



  1. Install Movie Render Queue Plugin (followed by editor restart)

  2. Reopen Level Sequencer and open Movie Render Queue, settings as follows:

  • add .png export
  • add Anti-aliasing
    image
  • Set Output Resolution to 800x600
  1. Initiate Render (Local)

I ran this three times:

The first time at default Cesium World Terrain settings (SSE=16) rendered successfully.
The second and third times were repeat runs at low SSE (=1) for Cesium World Terrain - as you mentioned above it took a while to begin (15-20 min) but then both times it froze on frame 334/2700


(the second render didn’t load tiles properly, but it was resolved in the repeat run)
(note the difference in “Elapsed Time”)

To make sure, I left the third run for two hours and it did not resume (very consistent with the freeze I’ve been getting in my other projects)

Note, at no point were RAM or VRAM even close to maximum (RAM <30/64Gb, VRAM <10/24Gb)

Please let me know if I’ve missed anything here - really appreciate you having a look at this :slight_smile:

Hi just jumping in here to say I also have this issue (or something very similar)
I posted this to the Questions tab on Epic launcher but Ill paste here for everyone.

[Adding Watermask stops rendering midway]

Hi I have a strange issue where if I render out a seq flying over some custom water masks, then the render seq will get to frame 150 of 300 and just hang there forever. The bulk of the water has already been rendered by this point. So I have to kill the task. Tried on 5.1 and 5.2 local and separate machine, all same results. Removing the water masks and rendering again makes it render as expected.

It looks like it might be a bug. Any ideas how to fix?

Hi all. The latest version 1.29 (the one currently on epic marketplace) is a bad version of Cesium. It causes the freezes of the Movie Render Queue.
I rolled back to v1.28 on github and its working now.
Ill have to be very careful in the future when upgrading this plugin.

1 Like

You absolute legend @Dan1

Rolling back to 1.28 appears to have fixed my issue also. I’m kicking myself that I didn’t try this earlier.

Thanks for sharing and nice troubleshooting!

1 Like

Thanks for your patience, everyone. I just tracked down the bug you’re all seeing and opened a PR with a fix:

We’ll include this in v1.30.0 which we’re releasing today and it should hit the Unreal Marketplace early next week.

Thanks very much for the detailed steps for reproducing it, @Luke_Mahoney.

1 Like

Great that you’ve tracked down a solution @Kevin_Ring

Thanks!

Weird as this was fixed but I’m having the same issue now with 5.4. Every render froze at the initial motion blur evaluation before rendering any frames with no tiles loaded. Then I read this post and changed the max screen space from 0 to 10 and it rendered, I managed to get it working at 2 without any popping. This is from the current version on the market place.

Hi @Origenic, welcome to the community!

This is expected – setting the Maximum Screen Space Error to zero tends to result in fickle behavior. I think that the streaming algorithm does not anticipate this value, so it gets stuck and fails to visualize any tiles.

(@Kevin_Ring – maybe we should add checks for this in cesium-native? Or at least log a warning to set the value higher to zero.)

2 Likes