Here’s what I’ve collected so far for performance. It’s not much mind you, but it should be a good starting point, and others can chime in with their own tips or already posted information in that 84 page thread (too time consuming to read it all if you haven’t been following from the start).
As Blakblt mention in this post, default settings for VXGI seems to be intended for mimicking the quality of baked lighting. That is good for archviz and smaller more controlled scenes, but can be problematic for others. You need to fiddle with the settings to get the best quality/performance ratio you want. Defaults are in bold.
Console commands:
r.VXGI.MapSize 32/64/128/256
Changes the size of the voxels. Lower (meaning bigger voxels) is better, but increases leaking and inaccuracies. 256 is unusable in most GPUs today. Although Nvidia recommends 64 for better performance, you’re likely better of setting this to 32.
r.VXGI.Range 400
As it says, changes the range. This has a side effect however. If you increase this range, it also scales the voxel size, it tries to keep voxel count constant so that you don’t get bogged down by too many voxels.
r.VXGI.StackLevels 1/2/3/4/5
As mentioned by Blakbit in this post, this setting has large impact on performance. VXGI reduces voxel resolution for geometry farther than VXGI Anchor (by default attached to camera). Default setting has 5 levels of different voxel sizes. By reducing stacklevel count, you can increase (or decrease) performance. I recommend reading the linked post for more detailed info. Gist of it is you need to use this setting in-conjunction with mapsize and range settings to find a sweetspot that works for your scene.
r.VXGI.MultiBounceEnable 0/1
Enables multibouncing as the name suggests. According to Nvidia overview, it works by using previous frame’s irradiance map in the current frame. Nvidia overview here (requires github access) says disabling it increases voxelization performance.
r.VXGI.HighQualityEmittanceDownsamplingEnable 0/1
Mentioned in Daniel.Wenograd’s post here and the overview above.
r.VXGI.StoreEmittanceInHdrFormat 0/1
Mentioned in Daniel.Wenograd’s post here. This affects the multibounce. As he states few posts below, this is related to VRAM usage, more info here.
Post-Process Volume Settings:
Number of Cones 8
Self explanatory, reducing this increases performance. Nvidia recommends 4. Going lower than that produces too many artifacts in my opinion.
Tracing Sparsity 1/2/3/4
Increasing this reduces the tracing resolution. Nvidia recommends 4.
Tracing Step 0.01/…/0.5/…/2
Increasing this increases performance, but lighting becomes less stable. At max level of 2 you can see quite clearly see the colors change as you move through the world. This is a case by case setting in my opinion. Some scenes might be more tolerant to this than others.
Use Temporal Filtering On/Off
Nvidia’s overview recommends to turn this on to hide flickering artifacts when using performance settings.
Enable Specular Tracing On/Off
While turning this on does increase visual quality (sometimes considerably), you might want to turn it off if you are having performance problems and still rely on UE4’s SSR for specular highlights. VXGI is also not that good at doing really reflective surfaces, Nvidia overview mentions you can use “r.VXGI.CombineSpecularWithSSR 1” console command to combine VXGI Specular with SSR. Without this command SSR gets disabled when VXGI Specular is on.
Unclear performance tips:
This presentation mentions use of low-detailed meshes for voxelization. I’m not sure if current UE4 implementation supports using LODs for that.
TL;DR Play with stacklevels, mapsize, and range console variables. Lower tracing quality just enough to find a spot with acceptable level of lighting artifacts. Disable specular if performance still unsatisfactory.