Description

In editor, when running a task that does not issue a BeginFrame/EndFrame for a long time, the GPU will eventually run out of memory. 

See UDN: https://udn.unrealengine.com/questions/431450/directx12-oom-issue.html

Steps to Reproduce
  1. Enable DirectX 12 by adding the "-DX12" argument to a shortcut target of the Editor.
    1. Right click the shortcut
    2. Click Properties
    3. In the Target field add "-DX12" to the end
  2. Open a project with a large amount of assets. (I simply created a project and added all feature packs and started content)
  3. Right-click a folder with a lot of assets pick the option 'Resave All' (I just used the content folder as a whole)
  4. A slow task message box will appear

 

Result: After 10+minutes, there will be a large spike in VRAM usage. It is possible that this leads to a crash.

During the task, Slate will generate lots of 'FD3D12DynamicHeapAllocator::AllocUploadResource' for updating Vertex/Index buffers, but those are only released on EndFrame, leading to an OOM.

Have Comments or More Details?

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

3
Login to Vote

Won't Fix
ComponentUE - Graphics Features
Affects Versions4.184.194.20
CreatedMay 7, 2018
ResolvedAug 18, 2021
UpdatedAug 18, 2021