<p>BC7 dedicates the first byte of each block to a &quot;mode&quot; of which there are 8 possibilities. 7 of those possibilities are defined and the 8th is reserved. So, unlike other block compression methods, every block of BC7 can be a different mode. This vastly increases the search space for finding a good compression and can slow the compression down to a crawl.</p>
<p>By default DirectXtex lib skips modes 0 &amp; 2 as part of that search space, the flag BC7_USE_3SUBSETS adds those modes back in.</p>
<p>BC7_QUICK on the other hands further restricts the number of modes that can be searched for each block, usually just down to mode 6.</p>
<p>So we should see better quality results from the use 3 subsets along with slightly smaller or same sized compressed images.</p>
<p>The compressors are still new enough, and the problem complex enough that results are likely to vary from image to image though.</p>
<p>Here is some reference material:</p>
<p><a href="https://github.com/microsoft/DirectXTex/wiki/Compress" rel="nofollow noreferrer">https://github.com/microsoft/DirectXTex/wiki/Compress</a>
<a href="https://github.com/microsoft/DirectXTex/blob/main/DirectXTex/BC.h" rel="nofollow noreferrer">https://github.com/microsoft/DirectXTex/blob/main/DirectXTex/BC.h</a></p>

CC BY-SA 4.0
2024-02-08T12:29:39.290Z
2024-02-08T12:29:39.290Z
pmw1234
<p>At the beginning I thought they were like Fast and Fine compression of Photoshop's Intel texture tools, but I later found the tool uses a different compressor called Intel's ISPCTextureCompressor,</p>
<p>So I want to know does those flags affect the image quality in any way?
Is there a benefit of using them?</p>

<image-processing>
What the diffrence between BC7_QUICK and BC7_USE_3SUBSETS compression flags in DirectXtex lib?
ahmed moussa
# What the diffrence between BC7_QUICK and BC7_USE_3SUBSETS compression flags in DirectXtex lib?

(Asked by: username_0 on 2024-02-06)

At the beginning I thought they were like Fast and Fine compression of Photoshop's Intel texture tools, but I later found the tool uses a different compressor called Intel's ISPCTextureCompressor,

So I want to know does those flags affect the image quality in any way?
Is there a benefit of using them?

**Tags:** image-processing


---

## 1 answers

### Answer by username_1 on 2024-02-08. Score: 1

BC7 dedicates the first byte of each block to a "mode" of which there are 8 possibilities. 7 of those possibilities are defined and the 8th is reserved. So, unlike other block compression methods, every block of BC7 can be a different mode. This vastly increases the search space for finding a good compression and can slow the compression down to a crawl.

By default DirectXtex lib skips modes 0 & 2 as part of that search space, the flag BC7\_USE\_3SUBSETS adds those modes back in.

BC7\_QUICK on the other hands further restricts the number of modes that can be searched for each block, usually just down to mode 6.

So we should see better quality results from the use 3 subsets along with slightly smaller or same sized compressed images.

The compressors are still new enough, and the problem complex enough that results are likely to vary from image to image though.

Here is some reference material:

<https://github.com/microsoft/DirectXTex/wiki/Compress>
<https://github.com/microsoft/DirectXTex/blob/main/DirectXTex/BC.h>


---

