All Projects → wolfpld → Etcpak

wolfpld / Etcpak

Licence: other
The fastest ETC compressor on the planet

Programming Languages

c
50402 projects - #5 most used programming language

etcpak 0.7

(Updated 2020-05-27)

The fastest ETC compressor on the planet

etcpak is an extremely fast Ericsson Texture Compression and S3 Texture Compression (DXT1/DXT5) utility. Currently it's best suited for rapid assets preparation during development, when graphics quality is not a concern, but it's also used in production builds of applications used by millions of people.

Compression times

Benchmark performed on an AMD Ryzen 9 3900X, using a real-life RGBA 16K × 16K atlas. Tests were performed using a single CPU core.

ETC1: 370.3 Mpx/s
ETC1 + dithering: 278.8 Mpx/s
ETC1 alpha: 568.1 Mpx/s
ETC2 RGB: 188.6 Mpx/s
ETC2 RGBA: 140.8 Mpx/s
DXT1: 2372 Mpx/s
DXT5: 1167 Mps/s

ARM benchmark performed on Odroid C2, using the same atlas:

ETC1: 23.6 Mpx/s
ETC1 + dithering: 23.4 Mpx/s
ETC1 alpha: 36.6 Mpx/s
ETC2 RGB: 12.1 Mpx/s
ETC2 RGBA: 2.83 Mpx/s
DXT1: 120.2 Mpx/s
DXT5: 83.3 Mps/s

Why there's no image quality metrics? / Quality comparison.

Decompression times

etcpak can also decompress ETC1, ETC2 (no T or H blocks), DXT1 and DXT5 textures. Timings on Ryzen:

ETC1: 332.5 Mpx/s
ETC2 RGB: 470.1 Mpx/s
ETC2 RGBA: 340.8 Mpx/s
DXT1: 682.7 Mpx/s
DXT5: 518.9 Mpx/s

ARM timings:

ETC1: 60 Mpx/s
ETC2 RGB: 88.5 Mpx/s
ETC2 RGBA: 64.2 Mpx/s
DXT1: 120.2 Mpx/s
DXT5: 83.3 Mpx/s

To give some perspective here, Nvidia in-driver ETC2 decoder can do only 42.5 Mpx/s.

Quality comparison

Original image:

Compressed image:

ETC1: ETC2:

More information

etcpak 0.6
etcpak 0.5
etcpak 0.4
etcpak 0.3
etcpak 0.2.2
etcpak 0.2.1
etcpak 0.2
etcpak 0.1

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].