Оптимизация размера графики в казуалках

May 28, 2011 23:20

В казуалках есть одна штука, в которой есть месту техническому теку - это пайплайн, хорошо сжимающий графику. Кто-то считает что необоснованно "пользователю всё равно сколько скачать, 10 мегабайт или 100, он не разбирается", кто-то считает что важно "+10 % к размеру - минус 1% пользователей", ну и видел даму которая не скачивает игры с большим ( Read more... )

tips, imaging, release, soft-dev

Leave a comment

Comments 54

xproger May 28 2011, 19:27:16 UTC
Круто! Очень понравилась идея с выборочным сжатие жпега (кстати, блоки ж 8х8 всегда были?)

В проекте для социалки использую атласинг и png8 с поддержкой альфа-палитры (очень много анимации)

Reply

_winnie May 28 2011, 19:35:40 UTC
> (кстати, блоки ж 8х8 всегда были?)
jpeg переводит rgb в Y+cr (интенсивность + цвет,цвет), и затем использует 16x16 для цвета и 8х8 для интенсивности (можно настраивать в продвинутых тулзах).

Reply

xproger May 28 2011, 19:39:41 UTC
А, помню там какие-то скейлы были для каналов блока, но DCT вродь 8х8 блоки преобразовывал 8)

Reply

wizzard0 May 29 2011, 09:11:57 UTC
Обычно цвет 2x downsampled, поэтому 16х16

Reply


aamonster May 28 2011, 19:42:28 UTC
А не удобнее ли не рисовать заплатки поверх, а чуток влезть в упаковщик jpeg и прописать в нём качество не глобально, а по квадратам?

Распаковку при этом можно использовать стандартную, насколько я помню.

Хотя если речь идёт о комиксах - я бы скорее задумался о сжатии по принципу djvu. Отдельно контуры (с высоким разрешением, алгоритм - не на DCT, а PPM-подобный), отдельно заливку (с низким).

Reply

xproger May 28 2011, 19:49:58 UTC
В теории блоки можно подменять лишь в случае если quantization table у обоих jpeg'ов совпадают, не знаю возможно ли такое на практике.

Reply

_winnie May 28 2011, 20:21:53 UTC
Не, в глубь libjpeg лезть совсем не удобней :)
Под заплатками - черные квадраты, которые все равно почти не потребляют место, так что и профита особого нет.
А этот способ можно применять хоть в браузере и JavaScript, а распаковку jpeg оставить на плечах браузера.

Reply

aamonster May 28 2011, 21:08:45 UTC
Так я о том и говорю, что распаковку оставить на плечах броузера. Совсем - т.е. чтобы даже скриптов на неё не требовалось.

Reply


dinozavrik May 28 2011, 20:22:28 UTC
Кстати, если квадраты патчей рисуются поверх, то зачем эти самые квадраты оставляются в основной картинке, а не заменяются на «радикальный чёрный цвет»?

Reply

dinozavrik May 28 2011, 20:23:04 UTC
А, всё, увидел коммент, что заменяются, просто поздно :)

Reply

_winnie May 28 2011, 20:24:08 UTC
Не оставляются. В редакторе уже скомбинированная картинка, в красно-зеленых квадратах - "хороший jpeg", вне - "плохой".

Reply

dinozavrik May 28 2011, 20:25:43 UTC
А в итоге какие примерные цифры обьёма дистрибутива?

И чем рендерите? Я так понимаю, чистое 2D же по сути?

Reply


alll May 28 2011, 20:47:39 UTC
Да, были времена, прошли, былинные, ни былин, ни эпосов, ни эпопей.
Четыре года назад было очевидно за что биться, сейчас даже и не знаю.

Кстати, рецепты самостоятельно придумывались или наскребались с миру по нитке?

Reply


maddev May 29 2011, 02:03:50 UTC
Отличные рецепты! Понравились манипуляции с JPEG.

Reply


Leave a comment

Up