LINUX.ORG.RU

Новый формат изображений быстрее PNG в десятки раз

 , , , qoi

Новый формат изображений быстрее PNG в десятки раз

6

3

Доминик Саблевски представил новый и невероятно простой в реализации формат изображений QOI (Quite OK Image). По представленным тестам, при сжатии изображений QOI производительнее PNG в 20–30 раз, а при распаковке — в 3–4 раза.

Доминик признаётся, что не является экспертом в области сжатия изображений. Идея создать новый простой и эффективный формат изображений пришла к нему во времена работы с MPEG-1. Его целью была скорость и простота.

Файлы QOI больше по размеру, чем PNG на 10–50 % в зависимости от картинки, поэтому QOI стоит применять, когда необходима скорость.

Исходный код на C, состоящий из одного универсального файла, доступен на GitHub.

В данный момент формат проходит обсуждение финальной спецификации с заинтересованными пользователями.

Также доступны реализации на Zig, Rust, Go, TypeScript, Python, C#. Поддержка QOI добавлена в библиотеку SAIL.

Для пользователей Arch Linux в AUR доступен пакет qoi-git.

>>> Замеры скорости и размеров изображений

>>> Подробности

★★★

Проверено: Shaman007 ()
Последнее исправление: sudopacman (всего исправлений: 2)

всё же больше по размеру чем PNG на 10-50% в зависимости от картинки, поэтому QOI - выбор тех, кому необходима скорость

ждём новость про следующий формат, который ещё толще, зато быстрее.

hint: можно вообще не сжимать, просто дописывать заговолок к raw. Скорость «decode/encode» будет как из пулемёта, ограничена только физикой железа

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

hint: можно вообще не сжимать, просто дописывать заговолок к raw

Можно было бы и BMP, например, если бы размер был всего на 10-50% больше, чем у PNG. Как ты сам понимаешь, такого не будет с BMP.

former_anonymous ★★★
() автор топика
Ответ на: комментарий от MKuznetsov

hint: можно вообще не сжимать, просто дописывать заговолок к raw. Скорость «decode/encode» будет как из пулемёта, ограничена только физикой железа

не факт. сжатие уменьшает время передачи.

AVL
()
Ответ на: комментарий от MKuznetsov

Текстурки в гпу на лету распаковываются быстрее, чем читались бы из видеопамяти в raw.

anonymous
()
Ответ на: комментарий от MKuznetsov

ждём новость про следующий формат, который ещё толще, зато быстрее.

те же мысли..

darkenshvein ★★★★★
()
Ответ на: комментарий от former_anonymous

Можно было бы и BMP, например, если бы размер был всего на 10-50% больше, чем у PNG.

Проблема в том, что ВМР, на самом деле - это десяток различных форматов, и время будет тратиться хотя бы на то, чтобы понять, какой именно ВМР имеется в виду

tiinn ★★★★★
()
Ответ на: комментарий от tiinn

Там пять версий штоле насколько я помню. И максимум из сжатия что он предлагает СВОЕГО - это RLE. Ну или он может тупо хранить PNG, что не имеет смысла для целей ускорения. Проще PNG тогда уж записывать.

former_anonymous ★★★
() автор топика
Последнее исправление: former_anonymous (всего исправлений: 1)
Ответ на: комментарий от tiinn

Какое нах время? Несколько if-ов по значениям из хедера?

anonymous
()
Ответ на: комментарий от MKuznetsov

Не… латентность считывания данных с носителя будет больше чем скорость распаковки в памяти. К примеру у меня в одном проекте для ускорения загрузки железяки дефолтный алгоритм компрессии кернеля посля длительных и нудных тестов поменяли на gzip(с xz) так как он давал наилучшее время до старта инита… В случае числодробилок а-ля интел коре-дофига распаковать самый пожатый файл будет быстрее чем считать его же но без компрессии с носителя…

Jetty ★★★★★
()
Последнее исправление: Jetty (всего исправлений: 1)
Ответ на: комментарий от MKuznetsov

ждём новость про следующий формат, который ещё толще, зато быстрее

битмап!

pihter ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.