Skip to content

Commit

Permalink
Update docs for 3.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
solidpixel committed Jun 3, 2021
1 parent 54497f9 commit 7bdaad1
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 22 deletions.
42 changes: 23 additions & 19 deletions Docs/ChangeLog-3x.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,12 @@ clocked at 4.2 GHz, running astcenc using AVX2 and 6 threads.
<!-- ---------------------------------------------------------------------- -->
## 3.0

**Status:** ETA, August 2021
**Status:** June 2021

The 3.0 alpha release is a preview release for the 3.x series. This series is
aiming to provide a major update to the codec with more experimental changes
than we could make with the 2.x series.
The 3.0 release is the first in a series of updates to the compressor that are
making more radical changes than we felt we could make with the 2.x series.
The primary goals of the 3.x series are to keep the image quality ~static or
better compared to the 2.5 release, but continue to improve performance.

Reminder for users of the library interface - the API is not designed to be
binary compatible across versions, and this release is not compatible with
Expand All @@ -22,8 +23,14 @@ updated `astcenc.h` header.

* **General:**
* **Feature:** The code has been significantly cleaned up, with improved
API documentation, function and variable naming conventions, and comments.
comments, API documentation, function naming, and variable naming.
* **Core API:**
* **API Change:** The core APIs for `astcenc_compress_image()` and for
`astcenc_decompress_image()` now accept swizzle structures by `const`
pointer, instead of pass-by-value.
* **API Change:** Calling the `astcenc_compress_reset()` and the
`astcenc_decompress_reset()` functions between images is no longer required
if the context was created for use by a single thread.
* **Feature:** New heuristics have been added for controlling when to search
beyond 2 partitions and 1 plane, and when to search beyond 3 partitions and
1 plane. The previous `tune_partition_early_out_limit` config option has
Expand All @@ -32,27 +39,24 @@ updated `astcenc.h` header.
`tune_3_partition_early_out_limit_factor`. See command line help for more
detailed documentation.
* **Feature:** New heuristics have been added for controlling when to use
2 planes. The previous `tune_two_plane_early_out_limit` has been renamed to
`tune_2_plane_early_out_limit_correlation`. See command line help for more
detailed documentation.
dual weight planes. The previous `tune_two_plane_early_out_limit` has been
renamed to`tune_2_plane_early_out_limit_correlation`. See command line help
for more detailed documentation.
* **Feature:** Support for using dual weight planes has been restricted to
single partition blocks; it rarely helps blocks with 2+ partitions and
takes considerable compression search time.
* **API Change:** The core APIs for `astcenc_compress_image()` and for
`astcenc_decompress_image()` now accept swizzle structures by `const`
pointer, instead of pass-by-value.
* **API Change:** Calling the `astcenc_compress_reset()` and the
`astcenc_decompress_reset()` functions between images is no longer required
if the context was created for use by a single thread.
single partition blocks; it rarely helps blocks with 2 or more partitions
and takes considerable compression search time.

### Performance:

The current performance and image quality for the 3.0 development build vs the
stable 2.5 release is shown below.
Key for charts:

* Color = block size (see legend).
* Letter = image format (N = normal map, G = greyscale, L = LDR, H = HDR).

**Absolute performance vs 2.5 release:**

![Absolute scores 3.0 vs 2.5](./ChangeLogImg/absolute-2.5-to-3.0.png)

**Relative performance vs 2.5 release:**

![Relative scores 3.0-develop vs 2.5](./ChangeLogImg/relative-main-to-2.5.png)
![Relative scores 3.0 vs 2.5](./ChangeLogImg/relative-2.5-to-3.0.png)
Binary file added Docs/ChangeLogImg/absolute-2.5-to-3.0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Docs/ChangeLogImg/relative-2.5-to-3.0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Docs/ChangeLogImg/relative-main-to-2.5.png
Binary file not shown.
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,15 @@ from 0.89 bits/pixel up to 8 bits/pixel.
Release build binaries for the `astcenc` stable releases are provided in the
[GitHub Releases page][3].

**Latest stable release:** 2.5
**Latest 3.x stable release:** 3.0
* Change log: [3.x series](./Docs/ChangeLog-3x.md)

**Latest 2.x stable release:** 2.5
* Change log: [2.x series](./Docs/ChangeLog-2x.md)

**Latest development release:** 3.0-develop
**Latest development release:** 3.1-develop
* Change log: [3.x series](./Docs/ChangeLog-3x.md)
* Roadmap: [3.0 and beyond](./Docs/Roadmap.md)
* Roadmap: [Ideas ...](./Docs/Roadmap.md)

Binaries are provided for 64-bit builds on Windows, macOS, and Linux. The
builds of the astcenc are provided as multiple binaries, each tuned for a
Expand Down

0 comments on commit 7bdaad1

Please sign in to comment.