Description

When rendering runtime virtual texture pages without throttling (when r.VT.MaxUploadsPerFrame is high or during Movie RenderQueue captures) the number of FRDGBuffers allocated by the Render Graph Builder is higher than expected.
We can allocate many unused buffers from the instance culling system.
In the worst case we can overflow 16 bit indices used for view handles in RDG and crash.

Steps to Reproduce

Have a scene with RVT with many pages visible (forcing RVT mip 0 sampling in materials can help with this). Set
r.VT.MaxUploadsPerFrameInEditor 9999
r.VT.MaxContinuousUpdatesPerFrameInEditor -1
r.VT.ForceContinuousUpdate 1
to effectively disable throttling of page rendering, and force all pages to be rendered every frame.
In debugger look at number of RDG buffers generated during FVirtualTextureSystem::FinalizeRequests(). We don't expect this to become unbounded.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-233809 in the post.

1
Login to Vote

Unresolved
CreatedDec 10, 2024
UpdatedJan 13, 2025
View Jira Issue