-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vulkan: VoxelGI VRAM size estimation is inaccurate #55641
Comments
Is this still valid in newest alpha? |
Yes (tested on 4.0.alpha 1847094). The amplification factor seems similar, and is pretty much always greater than 16 (even when vertical extents are identical to horizontal extents). |
I've noticed this too. VoxelGI has a large performance impact on one of my targets, and the large VRAM usage feels like it might be the cause. Is the actual VRAM usage for VoxelGI expected to be this high? |
What GPU model is it, and how much VRAM is actually being used when the project is run (without the editor running in the background)? If VRAM utilization is below 90%, it's unlikely to be impacting performance. (GPUs generally don't encounter big performance drops until they reach 90% VRAM utilization or so.) VoxelGI is expected to require a fair amount of VRAM at high subdivision sizes (especially 512). Each subdivision increase will increase the size of voxel data by a factor of 8 (e.g. 512 needs 8 times more memory than 256 to store all the voxel data). There may still be something off going on, but I doubt it'll be fixed quickly given not many people are knowledgeable with VoxelGI's implementation. |
I don't think the editor overhead is a factor, as the GPU memory metrics within the editor change by numbers similar to the original issue posted when voxelGI is enabled/disabled. i.e. with a single 512 subdivision instance I was seeing 2.3gb of memory usage, without it, 0.3gb. From skimming the literature it does seem that VoxelGI in general is expected to use a lot of memory however since it uses a sparse voxel octree, estimating the memory usage may be more difficult than a simple calculation? I'm still evaluating voxelGI for my project but if I do end up using it I will definitely be looking into this issue in more detail. |
Godot version
4.0.dev (2a9dd65)
System information
Fedora 34, GeForce GTX 1080 (NVIDIA 470.74)
Issue description
VoxelGI VRAM size estimation in the editor appears to be too conservative. Actual VRAM usage seems much higher.
In the testing project linked below, these are the VRAM size deltas I measured from my system:
The delta is measured from the "No GI" VRAM size mentioned in the absolute VRAM usage values below:
Antialiasing and other effects were disabled, and the project is running at the default window size of 1024×600. All other setting were left to their default values.
It seems there is no singular amplification value that would be reliable in all cases. From the above testing, we can conclude that the average amplification factor across all subdivision sizes is 50. However, the testing project uses mostly horizontal VoxelGI extents, which means the Y axis has 4 times less voxels than in a VoxelGI with fully cubic extents (Y axis as tall as others). This can likely influence the amplification factor.
Steps to reproduce
nvidia-smi
on Linux, or any other program that displays VRAM usage). This is the "Engine off" VRAM usage scenario.Minimal reproduction project
test_voxelgi_large.zip
The text was updated successfully, but these errors were encountered: