For testing, I’ll be using Epic/Quixel’s SciFi hallway scene. In addition to being freely available for anyone to reproduce, it represents a good example of a scene that could be handled well with traditional rendering methods, such as cubemaps and Screen-Space Reflections (SSR). It contains relatively detailed materials and geometry, and most important for my purposes, a large number of materials of varying specularity.
This is the SciFi scene stock, with direct lighting, cubemaps, and SSR set to 50 (perfect specularity).
This is the lumen version, with HWRT enabled, default settings, ray lighting=surface cache, and high-quality translucent reflections enabled.
This is the material roughness buffer, with black being perfectly specular (0) and white being perfectly diffuse (lambertian, or 1.0). Lumen can handle near-perfect specular (roughness of ~.1) and rough to diffuse reflections (.4-1.0) very well, but struggles immensely with glossy reflections (~.2-.39).
While this may sound like a very small limitation, those material values are actually very common in legacy content. Since SSR (the only common dynamic reflection solution at the time) had obvious failure cases, content had to be authored with cubemaps as a fallback. And that meant making materials such that low-res, distorted, and static cubemaps would still look visually plausible. This meant glossy-to-rough surfaces that would hide these errors, the exact material lumen reflections struggle with. By struggle, I refer to extremely unstable noise that creates very distracting flickering (hard to show in stills), or alternatively, wide blurs that destroy much high-frequency detail.
Fortunately, the lumen system has ample CVars to tune art direction, pipeline, and performance to work around some of the limitations. Obviously, if there was a perfect solution to this problem, it would be stock with the engine by now. Instead, we have a series of tradeoffs we can make, choosing off between physical correctness, artistic controlability, and performance.