I’m trying to understand how does loading textures impact the memory usage (both for RAM and GPU).
To do so I’m running memreport -full
and seeing some lines under Listing all textures.
like:
0x0 (0 KB, 0), 0x0 (0 KB), PF_Unknown, TEXTUREGROUP_World, /Game/ProductViewer/Materials/ProductMaterials/Swear/rubber/rubber_red_INST_basecolor.rubber_red_INST_basecolor, NO, 0
0x0 (0 KB, 0), 0x0 (0 KB), PF_Unknown, TEXTUREGROUP_World, /Game/ProductViewer/Materials/ProductMaterials/Swear/rubber/rubber_red_INST_metallic.rubber_red_INST_metallic, NO, 0
0x0 (0 KB, 0), 0x0 (0 KB), PF_Unknown, TEXTUREGROUP_World, /Game/ProductViewer/Materials/ProductMaterials/Swear/rubber/rubber_red_INST_normal.rubber_red_INST_normal, NO, 0
0x0 (0 KB, 0), 0x0 (0 KB), PF_Unknown, TEXTUREGROUP_World, /Game/ProductViewer/Materials/ProductMaterials/Swear/rubber/rubber_red_INST_roughness.rubber_red_INST_roughness, NO, 0
All these are textures that are indeed being used by a material that is being rendered. There are some lines showing texture memory usage:
2048x2048 (32768 KB, 0), 2048x2048 (32768 KB), PF_FloatRGBA, TEXTUREGROUP_World, /Engine/EngineMaterials/DefaultBloomKernel.DefaultBloomKernel, NO, 0
4096x4096 (21845 KB, 0), 4096x4096 (21845 KB), PF_BC5, TEXTUREGROUP_WorldNormalMap, /Game/ProductViewer/Products/utilityMaps/vyner/Swear_main_sewing_normal.Swear_main_sewing_normal, YES, 1
0x0 (16384 KB, 0), 0x0 (16384 KB), PF_FloatRGBA, TEXTUREGROUP_World, /Engine/EditorMaterials/AssetViewer/EpicQuadPanorama_CC+EV1.EpicQuadPanorama_CC+EV1, NO, 0
0x0 (16384 KB, 0), 0x0 (16384 KB), PF_FloatRGBA, TEXTUREGROUP_World, /Game/ProductViewer/HDRI/HDRI_1.HDRI_1, NO, 0
0x0 (16384 KB, 0), 0x0 (16384 KB), PF_FloatRGBA, TEXTUREGROUP_World, /Engine/MapTemplates/Sky/DaylightAmbientCubemap.DaylightAmbientCubemap, NO, 0
0x0 (16384 KB, 0), 0x0 (16384 KB), PF_FloatRGBA, TEXTUREGROUP_World, /Engine/MapTemplates/Sky/SunsetAmbientCubemap.SunsetAmbientCubemap, NO, 0
4096x4096 (10923 KB, 0), 4096x4096 (10923 KB), PF_DXT1, TEXTUREGROUP_World, /Game/ProductViewer/Products/utilityMaps/vyner/Swear_main_sewing_mask.Swear_main_sewing_mask, YES, 1
2048x2048 (2731 KB, 0), 2048x2048 (2731 KB), PF_DXT1, TEXTUREGROUP_World, /Game/ProductViewer/Products/utilityMaps/vyner/Swear_vyner_lacesHoles_mask.Swear_vyner_lacesHoles_mask, YES, 1
2048x2048 (2731 KB, 0), 2048x2048 (2731 KB), PF_DXT1, TEXTUREGROUP_World, /Game/ProductViewer/Products/utilityMaps/AO/Swear_vyner_main_AO.Swear_vyner_main_AO, YES, 0`
… but in any case, I can’t understand why do the ones in the top block show as 0. Is this RAM usage only? Do I have to look at something like 1093598107 - Texture memory 2D - STAT_TextureMemory2D - STATGROUP_RHI - STATCAT_Advanced
? If so, how can I check which specific textures are contributing to that usage?
Related questions:
- Textures in the content browser don’t take up RAM / GPU mem, right?
- As soon as a texture is not used in the render anymore, will it be unloaded?
Note: I’ve disabled texture streaming.