Sunday, May 13, 2018

Graphing BC7 with random codec options

I used a different set of data (and a different random seed) to compute this scattergraph vs. my previous post. This time, I've highlighted all random solutions that enable mode 1:

Modes 1 and 6 are the key modes for opaque textures. Mode 6 is used across the entire frontier, and mode 1 is used across all of the frontier above a threshold of about ~49.4 dB PSNR. (This is why I open sourced bc7enc16.)

Here's the same graph but I've marked in red two key solutions. The left one is mode 1 only, and the upper right one is modes 1+6. There are several variants of each, I just choose the highest quality ones to mark. Mode 1+6 is at a perfect spot: very high quality and just at the BC7 "wall" where quality plateaus.

Mode 1 only is also at a great spot. It's fast and has excellent quality with no visible block artifacts (unlike exclusively mode 6 which will be full of them).

Here's a graph showing all solutions that use mode 6 in brown, with the rest in blue:

Finally, here's a graph generated using perceptual colorspace metrics. To speed up the test I reduced the test texture so it had 1/16th as many blocks (randomly chosen from the original test texture). One thing that appears in this graph is that, with perceptual metrics and Luma PSNR, mode 6 by itself is more effective than with RGB metrics.

No comments:

Post a Comment