In my research into Windows TextureStreaming and Visual Studio 2022 17.1 performance.
I have found that adding setting in the config file
D:\Program Files\Epic Games\UE_5.0EA\Engine\Config\Windows\ WindowsEngine.ini
The following lines contained
[TextureStreaming]
; PoolSizeVRAMPercentage is how much percentage of GPU Dedicated
;VRAM should be used as a TexturePool cache for streaming textures (0 - unlimited streaming)
PoolSizeVRAMPercentage=70
When looking at the GPU Performance in Windows Task Manager Performance Tab.
The Dedicated GPU memory is locked at 1.4GB/2.0GB which means that I CANNOT use any more than 1.4GB,
hence the Texture Streaming error displayed on streaming in the Valley of Ancients Project Sample,
my UE5 converted free Epic Infiltrator Project
I have now changed the value from 70 to 0
[TextureStreaming]
; PoolSizeVRAMPercentage is how much percentage of GPU Dedicated VRAM should be used as a TexturePool cache for streaming textures (0 - unlimited streaming)
;PoolSizeVRAMPercentage=70
;@VS2022 TexturePool cache for streaming textures (0 - unlimited streaming) PoolSizeVRAMPercentage=0
Now shutdown UE5 make the change to and restarted Via Launcher
D:\Program Files\Epic Games\UE_5.0EA\Engine\Config\Windows\ WindowsEngine.ini PoolSizeVRAMPercentage=0
When I restarted the UE5 project and played the project I am now using 95% of GPU Dedicated VRAM to be used as a TexturePool cache, this was 70%
When looking at the GPU Performance in Windows Task Manager Performance Tab.
The Dedicated GPU memory is initially at 0.2GB/2.0GB so I am using less than the original 1.4GB/2.0GB setting.
Next, playing the project I have found the value 1.9GB/2.0GB.
This means I am now using 95% of GPU Dedicated VRAM should be used as a TexturePool cache, which is the highest value I have ever used.
When I stop the project usage falls from 95% of GPU Dedicated VRAM to 75% or 1.5GB/2.0GB.
In my UE5 converted free Epic Infiltrator Project, where I converted Static Meshes to Nanite,
I can see GPU Dedicated VRAM increasing and decreasing on demand from the program.
Please try this and report your finding especially developers with 8GB Dedicated VRAM graphics cards
Thanks,
Jimbo
Im struggling with the “Video Memory Has Been exhausted” message in UE5.
I tried what you suggested above.
I have also tried changing to “r.ReflectionCaptureResolution=512” changed down from 2048 in the DefaultEngine.ini file.
My PC is quite capable:
AMD Ryzen 9
RTX 3070 Vision OC 8G
64GB RAM
SSD Storage
I am reasonably new to Unreal and cant resolve this issue.
In my research into Windows TextureStreaming and Visual Studio 2022 17.1 performance.
I have found that adding setting in the config file
C:\Users\Owner\source\repos\UE50\Engine\Config\BaseEngine.ini
The following lines contained
[TextureStreaming]
NeverStreamOutRenderAssets=False
MinTextureResidentMipCount=7
;originally
;PoolSize=160
; make PoolSize 8 times bigger
PoolSize=1280
Also see the command from
BaseInput.ini:+ManualAutoCompleteList=(Command=“DumpTextureStreamingStats”,Desc=“Dump current streaming stats (e.g. pool capacity) to the log”)
Hello,
It seems that this issue occurs due to a bug using DX12 (DirectX 12) with “lumen” which is the default “Dynamic Global Illumination Method” (in the the projects DefaultEngine.ini we have DefaultGraphicsRHI=DefaultGraphicsRHI_DX12 and r.DynamicGlobalIlluminationMethod=1). Hence, you need to either change your RHI settings or your dynamic GI method.
Changing RHI settings
You can either make DefaultGraphicsRHI=DefaultGraphicsRHI_DX11 in DefaultEngine.ini (to use Direct X 11 rather than 12) or go to “Edit → Project settings → Platforms → Windows → Default RHI” and select DirectX 11 or Vulkan (I didn’t test it yet) .
See an example below:
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
DefaultGraphicsRHI=DefaultGraphicsRHI_DX11
Changing the Dynamic GI method
You can change the default DynamicGlobalIlluminationMethod to “None” (or any other method) directly in DefaultEngine.ini , i.e " r.DynamicGlobalIlluminationMethod=0", or from “Edit → Project settings → Engine → Rendering-> Global Illumination → Dynamic Global Illumination Method” and select your preferred method (None, lumen, Screen Space, Standalone Ray Traced (Deprecated) ). These methods correspond to 0, 1, 2, 3 respectively.
You can change the default behavior by going to the config folder in your UE5 project then open DefaultEngine.ini. Under [/Script/Engine.RendererSettings], set r.DynamicGlobalIlluminationMethod to 0.
See an example below:
[/Script/Engine.RendererSettings]
r.ReflectionMethod=1
r.GenerateMeshDistanceFields=True
;r.DynamicGlobalIlluminationMethod=1
r.DynamicGlobalIlluminationMethod=0
r.Lumen.TraceMeshSDFs=0
r.Shadow.Virtual.Enable=1
r.Mobile.EnableNoPrecomputedLightingCSMShader=1
zeth_foxster
youre turning off lumen…this isnt a fix…
Yes, I know. Even the Unreal 5 in Lumen documentation admits that on anything like an Xbox One X or an Xbox One any program will not meet the criteria to launch a game on Xbox Gamestore. The Xbox Series X is the only one Unreal Engine 5 supports the Xbox Series S is NOT supported for development!!.
This is trying to fix the Texture Streaming out of memory problems I never said it would fix Lumen performance of 30FPS as the GPU does all the work for Lumen
Hi @GuidoA77,
The file location is
C: \Program Files\Epic Games\UE_5.0\Engine\Config\Windows\ WindowsEngine.ini
For the Epic Launcher binary version.
Code change is
[TextureStreaming]
; PoolSizeVRAMPercentage is how much percentage of GPU Dedicated VRAM should be used as a TexturePool cache for streaming textures (0 - unlimited streaming)
;PoolSizeVRAMPercentage=70
Haven’t tried it yet, but in the official docs, it says you should adjust your materials with nodes specifically made for Path Tracing (if your are using this one). As always, it is just briefly mentioned and not explained at all Path Tracer in Unreal Engine | Unreal Engine 5.0 Documentation under “Limitations”, the pen-ultimate bullet point and the one before that
Hello:
I’ve found first catalog. And UE works better. But cannot find “C:\Users\Owner\source\repos\UE50\Engine\Config\BaseEngine.ini”
Im trying to find in: C:\Users\mnosz\source\repos\UE50\Engine\Config\ but there’s no such catalog. I can see hide files.
ps using UE 5.1
I originally tried turning off Texture Streaming, which did work but maxed out my VRAM usage (RTX 3070 Ti). However, setting up hardware ray tracing and enabling keep in memory if used seemed to work the best.
[fixed] yeah, Thx, for using these two methods together and balancing the PoolSize number, for my part a 1080ti 11G vram poolsize at 1500-2000mb, depending on your scene, but normally could work. Thanks for you guys
Thank you for the tips. I used both settings but from my testing the initial poolsize value in BaseEngine.ini had the biggest impact. I ended up pushing it to 10000 since my card has 10GB of VRAM. I’m not sure the logic is correct here, because I’m not even sure the value is supposed to be in MB but it seems to be working.
Would there be any disadvantage to unlimit it by putting it to 99999 ? I tried setting 0 as a value but it used less VRAM available than when I set it to 10000.
I’m mostly concerned about stability and performance. All in all I feel like we are just tinkering with settings that should be properly explained by a UE dev somewhere so that there are less guessing games.