And the results are in for the ue4-cabininthewoods file, with some surprising results. Remember that this is a comparison of a downsampled 3840x2160 source, encoding at 1920x1080 and 1280x720, then upsampled back to the original resolution as required by VMAF. We'll take a look at 1920x1080 first, then move on to 1280x720.
VMAF 1920x1080
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$0$saq$1$taq$1$rcla$32 63.647%
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$0$saq$1$taq$1$rcla$32 63.645%
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$1 63.464%
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$8 63.463%
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$16 63.458%
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$2$saq$1$taq$1$rcla$32 63.458%
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$2 63.456%
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$32 63.451%
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$4 63.450%
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$0$saq$1$taq$1$rcla$0 63.422%
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$0$saq$1$taq$1$rcla$0 63.422%
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$0 63.390%
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$2$saq$1$taq$1$rcla$0 63.376%
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$slow$nr$0$psy$1 61.866%
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$slow$nr$16$psy$1 61.786%
VMAF considers nvenc H264 to be equal or better to x264 slow and medium, which is very surprising. I was expecting x264 to dominate the field like it did before, but it seems Nvidia has done some serious work on their encoder. However,
in a frame by frame comparison, the issues with nvenc are clear as day: dark areas, distant small objects; and x264 only has trouble with the volumetric fog.
The top nvenc result was with the following settings: CBR High Quality, Two Pass, B-Ref Mode None, Spatial AQ, Temporal AQ, Rate-Control Look-Ahead 32 Frames. Just slightly below that is the same without Two Pass, and slightly below that is Two Pass with 1 Frame Look-Ahead (which beat 8 Frame Look-Ahead by a small margin).
SSIM 1920x1080
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$slow$nr$0$psy$0 94.123
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$slow$nr$32$psy$0 94.119
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$slow$nr$16$psy$0 94.117
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$slow$nr$0$psy$1 94.077
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$medium$nr$0$psy$0 94.076
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$medium$nr$32$psy$0 94.076
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$slow$nr$32$psy$1 94.076
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$slow$nr$16$psy$1 94.076
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$medium$nr$16$psy$0 94.074
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$medium$nr$0$psy$1 94.050
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$fast$nr$0$psy$0 94.050
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$medium$nr$16$psy$1 94.048
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$fast$nr$16$psy$0 94.047
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$medium$nr$32$psy$1 94.047
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$fast$nr$32$psy$0 94.046
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$0$saq$1$taq$1$rcla$32 94.033
And with SSIM the field completely switches around. SSIM considers fast preset to be better than nvenc H264, as it likely sees the mess nvenc makes with dark areas and distant small details and isn't based on a constantly changing model that has to be re-trained.
One important thing that we can already see is that x264's noise_reduction option causes quality to drop significantly, and both VMAF and SSIM notice this quality reduction. Furthermore, psychovisual optimizations cause a lower SSIM score, but a higher VMAF score - so unless you aim for a high SSIM score, you should leave it enabled.
PSNR 1920x1080
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$0$saq$1$taq$1$rcla$0 27.558
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$0$saq$1$taq$1$rcla$0 27.558
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$0$saq$1$taq$1$rcla$32 27.556
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$0$saq$1$taq$1$rcla$32 27.556
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$0 27.554
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$2$saq$1$taq$1$rcla$0 27.554
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$2 27.554
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$8 27.554
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$16 27.554
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$2$saq$1$taq$1$rcla$32 27.553
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$4 27.553
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$1 27.553
- ue4-cabininthewoods/60/1920x1080/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$32 27.553
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$slow$nr$0$psy$0 27.527
- ue4-cabininthewoods/60/1920x1080/Partial/6000/x264/$bf$-1$preset$slow$nr$16$psy$0 27.524
PSNR for the most part seems to mirror what VMAF saw, ranking nvenc above x264 slow again. As expected it considers psychovisual optimizations to be worse than those without them, and also ranks noise_reduction lower. But unexpectedly, it considers the files without Two-Pass and Look-Ahead to be slightly better than those with it.
Next up is 1280x720, which has results closer to what we'd expect and is a more realistic test for most streamers. Again we will compare the top 15 VMAF, SSIM and PSNR files.
VMAF 1280x720
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$0$psy$1 62.543
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$16$psy$1 62.453
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$2$saq$1$taq$1$rcla$32 62.445
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$32 62.445
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$2$saq$1$taq$1$rcla$0 62.361
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$0 62.361
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$0$saq$1$taq$1$rcla$32 62.343
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$0$saq$1$taq$1$rcla$32 62.343
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$32$psy$1 62.321
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$0$psy$0 62.288
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$0$saq$1$taq$1$rcla$0 62.200
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$0$saq$1$taq$1$rcla$0 62.200
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$16$psy$0 62.180
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$32$psy$0 62.105
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$medium$nr$0$psy$1 61.853
The first unexpected thing is that most of these scores are in the same range as the higher 1920x1080 resolution, which means that a lower overall resolution managed to get very close if not better than a higher resolution encode to the same input signal. A lower resolution combined with a higher bitrate could result in a better quality, at 6mbit.
For the most part this is what we'd expect from x264: it's dominating by a significant margin of ~0.1%, providing ever so slightly better quality than nvenc. Right after that is the noise_reduction tests, which are obviously worse. And then we reach nvenc H264, which in a surprising twist compared to 1920x1080 performed better with B-Ref-Mode Half and no Two Pass. The rest of the list is as expected with faster x264 presets being worse than the slower one.
SSIM 1280x720
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$32$psy$0 94.321
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$0$psy$0 94.320
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$16$psy$0 94.320
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$0$psy$1 94.302
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$16$psy$1 94.301
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$32$psy$1 94.299
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$medium$nr$16$psy$0 94.293
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$medium$nr$0$psy$0 94.293
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$medium$nr$32$psy$0 94.292
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$medium$nr$16$psy$1 94.274
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$medium$nr$0$psy$1 94.274
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$fast$nr$0$psy$0 94.273
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$fast$nr$16$psy$0 94.272
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$medium$nr$32$psy$1 94.272
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$fast$nr$32$psy$0 94.271
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$fast$nr$0$psy$1 94.250
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$fast$nr$16$psy$1 94.250
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$fast$nr$32$psy$1 94.248
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$2$saq$1$taq$1$rcla$32 94.212
Like before x264 dominates the top spots, and also like before, SSIM considers psychovisual optimizations to look worse. Unlike before however, B-Ref-Mode Half (2) is again winning without Two Pass for nvenc H264 by a small margin.
PSNR 1280x720
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$0$psy$0 27.540
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$16$psy$0 27.539
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$32$psy$0 27.539
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$2$saq$1$taq$1$rcla$0 27.534
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$0 27.534
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$2$saq$1$taq$1$rcla$32 27.534
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$2$saq$1$taq$1$rcla$32 27.534
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$0$psy$1 27.529
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$0$saq$1$taq$1$rcla$32 27.528
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$0$saq$1$taq$1$rcla$32 27.528
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$0$brm$0$saq$1$taq$1$rcla$0 27.528
- ue4-cabininthewoods/60/1280x720/Partial/6000/nve264/$bf$4$rc$cbr_hq$2p$1$brm$0$saq$1$taq$1$rcla$0 27.528
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$slow$nr$16$psy$1 27.528
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$medium$nr$0$psy$0 27.527
- ue4-cabininthewoods/60/1280x720/Partial/6000/x264/$bf$-1$preset$medium$nr$16$psy$0 27.526
And this time PSNR considers x264 slow to be better than nvenc, and also considers noise_reduction to just be bad. Same as before, Two-Pass and Look-ahead are considered bad, and B-Ref-Mode Half is again winning.
So what do we do with this Information?
If your stream is not similar to the input used for this, then the results are pretty much useless to you for now. The input file mimics a slow camera going through a forest, with extreme fog and some extreme depth of field and strong color contrast. Most gaming streams aren't like this, and the closest you could get would likely be a real life stream going through a park or art streams.
If your stream is like that, then you will actually benefit from Turing/RTX nvenc at its best current setting at virtually no cost (except for the GPU), or can just stick with x264 medium or slow. This is a surprising turnaround from the last time I ran these test on Pascal, where x264 veryfast and up dominated the field in PSNR, SSIM and VMAF.
Update: All encoded files are now available to watch here:
https://cdn.xaymar.com/ves/