What am I comparing exactly?

The Unreal Engine finally has development builds with DXR enabled and I am figuring out ways to compare quality between them and other builds of the engine that are out there. I decided to use the Infiltrator sample scene because I am a masochist that loves torturing my computer. This is an intense scene traditionally let alone with ray tracing or with GameWorks enabled features. We aren’t looking at performance at all with what I’m doing here, just trying to find rendering oddities and differences.

My method

Using the built-in cinematic matinee feature I can capture a movie with a fixed frame rate of the scene. I do that after I convert the project to the appropriate version of the engine and spend a bit of time fixing up the lights and other things to make the feature set work correctly due to limitations of the technology. Lights in some cases need to be changed from stationary or static to movable. I also don’t sandbag any of the versions by disabling things that are traditionally needed. Examples of this are like in the VXGI scene, I used the baked lightmaps where needed. I do attempt to highlight the strengths of each build at the same time. For example, with the ray traced scenes, I made sure there were no baked lightmaps and everything concerning the lighting was from the ray traced features.

Each video was captured in 1280x720. The first part was in 30fps, but the second part was in a full 60. These recordings are encoded to a MJPG AVI file by the engine. The videos are resized to 150% to fill the frame in the way that it does. The background, although blurred, is both the videos on top of each other with a difference blend and 300% scaling. Anti-aliasing was used in every video with the built in Unreal Engine TAA method except for the GameWorks scene which used Nvidia’s TXAA method. The final render was to a NVENC h265 video with maximum quality in Adobe Premiere using the Voukoder plugin.

Here is the codec information for each video in the production step

The Unreal Engine Export

General
Format AVI
Format/Info Audio Video Interleave
Format profile OpenDML
Overall bit rate 255 Mb/s
Video
ID 0
Format JPEG
Codec ID MJPG
Bit rate 255 Mb/s
Width 1280 pixels
Height 720 pixels
Display aspect ratio 16:9
Frame rate 59.940 or 30
Color space YUV
Chroma subsampling 4:2:2
Bit depth 8 bits

The Export For YouTube

General
Format MPEG-4
Format profile Base Media
Codec ID isom (isom/iso2/mp41)
Duration 3 min 34 s
Overall bit rate 18.6 Mb/s
Video
ID 1
Format HEVC
Format/Info High Efficiency Video Coding
Format profile Main@L6@Main
Codec ID hev1
Codec ID/Info High Efficiency Video Coding
Duration 3 min 34 s
Bit rate 18.6 Mb/s
Width 3840 pixels
Height 1260 pixels
Display aspect ratio 16:9
Frame rate mode Constant
Frame rate 59.940 or 30
Color space YUV
Chroma subsampling 4:2:0
Bit depth 8 bits
Color range Limited
Color primaries BT.709

The videos

Dev-Rendering vs Preview 1 (Part 1)

VXGI vs Preview 3 (Part 2)

My thoughts

There are some issues that crop up here and there. In the part one video neither ray tracing build of the engine handles the spotlights correctly nor some of the translucent effects or particles. There are missing things in each. Turning on global illumination tends to darken the scenes. I’m guessing that is due to every material being very metallic, although I’m not sure why dynamic entities seem to be lacking bounces on their mesh.