Unreal GPU Memory Footprint

For those finding themselves in the same situation as me the following steps should be done when doing memory profiling:

  1. Close the editor and open it again so that all dangling memory is released
  2. Launch the game as a stand-alone instead of ‘Play In Current Viewport’
  3. Use ‘memreport -full’ for a full detailed dump on the memory usage

The interpreting of the values goes as follows:

  • “RHI resource memory (not tracked by our allocator)” - Section is related to GPU memory usage, a value after all the data is shown. In my case it was ‘683MB total’. Since we’re targeting GTX550+ I guess that we have around 300MB more of video memory that we can use.
  • “Pooled Render Targets” - Section related to the “Render Target Memory 2D”. It explains there the high render target memory usage. It is high due to all the buffers allocated, especially the DBuffer textures. It also seems not to show real values all the time, that is why an editor restart is required.
  • “Listing all textures” - Section related to the textures used by your game. The list is ordered from highest memory to lowest. The top textures are a good start on optimizing. Remember that a 2k texture means about 4 1024 textures or 16 512 textures! Better use tiling textures, detail textures etc.

The video memory consumption you are targeting for is determined by the GPU that you are targeting (we’re targeting GTX 550 with 1GB Vram) and if you are using texture streaming or not.

CPU memory profiling is a lot easier I’ll not get in details with that too.

Even though many Unreal users already know what I’ve listed, maybe there would be some newcomers with the engine (like myself) that require a little bit of help when profiling the GPU usage. Searching info over the internet linked me back to my question so maybe anyone will find it useful.

10 Likes