User Tag List

Страница 3 из 26 ПерваяПервая 1234567 ... ПоследняяПоследняя
Показано с 21 по 30 из 252

Тема: Сжатие данных

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Респект автору LZSA, версия 1.0.9 стала сжимать лучше и счет LZSA2:MegaLZ сменился на моем тестовом наборе с 6:14 на 8:12. И нет файлов, которые стали бы сжиматься хуже.
    Обновил репозиторий. Свел LZSA1 и LZSA2 в один - LZSA8080.
    Распаковщики LZSA1 старые, а LZSA2 обновил и дополнил.
    "Обычный" стал на байт короче (187 прямой / 192 обратный) и чуть-чуть быстрее. Добавил "быстрый" распаковщик (201 байт прямой / 206 байт обратный) - он на 7% (для некоторых файлов больше) быстрее обычного.

    Эти 2 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    Oleg N. Cher(22.09.2019), svofski(23.09.2019)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пригляделся к shrinklerу, вернее к его распаковщику для z80.
    Самая шокирующая вещь - это время распаковки. Тест устройств (исходный 25600 байт, упакованный - 14280 байт) на 3 МГц z80 (без тормозов) распаковывается 68.5 секунд! Это на два десятичных порядка медленнее lzsa1 и lz4. Если переделать умножение на развернутый цикл, то распаковка ускоряется почти в полтора раза, но и размер распаковщика увеличивается на 3/4. И это еще для z80, версия для 8080 будет медленнее и больше по размеру. Вот так выглядит LZMA-подобная штука для восьмибиток без быстрого аппаратного умножения и большого количества регистров.

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    Oleg N. Cher(24.09.2019)

  4. #3

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Похвастаюсь про shrinkler. После некоторых раздумий стало ясно, что цикл умножения можно разворачивать экономно, аккуратно и сильно выиграть в скорости при минимальном увеличении размера. Да и умножение не единственное место для приложения сил. Но над версией z80 есть кому думать, а я примерился к 8080. Поставил такую цель - получить скорость официальной версии для z80 при размере не больше разогнанной версии для z80. И это получилось выполнить и перевыполнить. В итоге при размере разогнанной версии для z80 версия для 8080 опережает по скорости официальную для z80 на 25%. Это позволило при векторовских тормозах получить быстродействие как у официальной для z80 без тормозов на той же частоте. Аналогично будет для компов на ВМ80 с частотой 2.4-2.5 МГц и прозрачным озу (корвет, океан, орион).
    Можно поставить галочку - распаковщик shrinkler для 8080 есть. Но хочется еще доработать, потом собираюсь выложить на gitlab или github.
    Последний раз редактировалось ivagor; 27.09.2019 в 19:53.

    Эти 5 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    Oleg N. Cher(01.10.2019), parallelno(04.07.2022), svofski(27.09.2019), tnt23(06.10.2019), yur(12.01.2021)

  5. #4

    Регистрация
    19.04.2019
    Адрес
    г. Сан-Хосе, США
    Сообщений
    44
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подскажите, есть ли аналог Laser Compact v5.2 для PC? На текущий момент из всего, что я перепробовал, он сжимает изображения лучше всего, особенно в связке с Screen Optimizer v4.2. Пробовал ZX7, ZLF, Hrust 1.3 / Hrum 3.5. Все они вроде как общего назначения и от этого хуже справляются.

  6. #5

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Лучше в спековской теме спросить, для вектора таких утилит не было, да и экран у вектора совсем другой.

  7. #6

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    morozov, непонятно, упаковщик на пц для спектрума нужен штоле? ну, есть мои поделия https://zx-pk.ru/blogs/680-lethargeek.html
    должны жать типичные скрины лучше лазера (правда, декомпрессор для z80 сложнее и распаковка медленней раза в три))
    лазер на пц с исходником тоже есть, где-то в спековских разделах тема была; и конечно, всё лежит на vtrd

    - - - Добавлено - - -

    адаптировать спековские методы к векторовским плоскостям в принципе несложно, и даже код скорей всего упростился бы
    (точней, проще стал бы код для z80, а вот с убогим 8080 результат может оказаться куда печальней)
    Прихожу без разрешения, сею смерть и разрушение...

  8. #7

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если подумать, утилит типа laser compacta для вектора не было, зато самые популярные графические редакторы сохраняли картинку в сжатом виде (scr, spr). Соответственно для писи "утилитой для компрессии векторовского экрана" можно назвать sprview или утилиту yura (хотя я не помню точно, у него только смотрит или еще и сжимает). SPRview точно сжимает. А если говорить о современности, то shrinkler победит любого векторовского конкурента, даже если его не дополнять разными вариантами сканирования/обхода картинки и перекодирования цветового пространства. Правда для него желательны не убогие процы типа 8080 или z80, а что-нибудь покруче. Для 8080 (и z80) есть exomizer (если нужно только распаковывать, а упаковывать на писи) - по сравнению со shrinklerом он просто мгновенный и я серьезно оптимизировал его распаковщики, ближе к новому году появятся исходники.

  9. #8

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Краткий поверхностный тест сжатия графики на примере картинок сконверченных Романом Пантелеевым (9 файлов).
    До общественности они дошли в виде spr файлов, поэтому в качестве базы для сравнения беру цифру 9*(32768+16)=295056 байт, т.е. полностью 256x256, хотя некоторые картинки не на полную ширину. Фактически lzsa, exomizer и shrinkler сжимали .o32 файлы, которые представляют собой копию видеопамяти вектора с перевернутыми столбцами и 128 байтным заголовком и реальная степень сжатия для этих форматов даже чуть-чуть больше, но эта крошечная фора не спасет spr.
    Код:
    Оригинал  295056 байт - 100%
    SPR       134656 байт - 45.64%
    LZSA1     115128 байт - 39.02%
    LZSA2     109294 байт - 37.04%
    Exomizer  105206 байт - 35.66%
    Shrinkler 102128 байт - 34.61% (-2)
    Shrinkler 101004 байт - 34.12% (-9)
    
    7z (формат zip)102916 байт - 34.88%
    7z (формат 7z)  99119 байт - 33.59%
    Использовал LZSA 1.1.0, exomizer 3.0.2 и shrinkler 4.4. 7z "старый" - 15.14

    Стоит отметить, что в очередной версии LZSA 1.1.0 опять чуть улучшено сжатие в LZSA2, но счет LZSA2:MegaLZ по сравнению с 1.0.9 на моем наборе файлов не изменился.
    Последний раз редактировалось ivagor; 02.10.2019 в 17:34. Причина: добавил 7z, уточнил 7z, добавил shrinkler -9

  10. #9

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я в 90-ых изучал алгоритм сжатия картинок в SСR-формат, для использования в своей программе. Обнаружил, что графический редактор (сохранявший картинку) не использует все возможности алгоритма. Внёс не большие изменения в алгоритм компрессора, сжиматься картинки стали лучше, а декомпрессор подходил стандартный.
    Правда выигрыш был не большой (но было приятно), о времени сжатия я не задумывался.

  11. #10

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Улучшение сжатия в рамках старого формата хранения это хорошая тема и есть немало подобных примеров (например 7z лучше сжимает в zip, чем классический zip; в LZSA формат не меняется а сжатие улучшается, в exomizere аналогично и т.д.).
    Время сжатия сейчас в эпоху писи с неубогими процами не так важно как время распаковки. Ну а степень сжатия всегда будет очень важна.
    Возможно стоит потестировать в сравнении с современными и лучшие классические упаковщики: Press Бобкова и LZ77 Луппова. Они 100% проиграют лучшим современным, зато могут сжимать на векторе.
    Еще лучше бы сделать большое сводное тестирование пригодных для распаковки на 8080 компрессоров, типа того, что делал introspec/spke, но это надо сильно захотеть и потратить много времени.

    - - - Добавлено - - -

    Добавил в сравнение 7z в качестве ориентира.

Страница 3 из 26 ПерваяПервая 1234567 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Архивирование, сжатие, упаковка.
    от GriV в разделе Программирование
    Ответов: 30
    Последнее: 22.07.2019, 17:25
  2. Существует ли идеальное сжатие без потери данных?
    от CodeMaster в разделе Программирование
    Ответов: 35
    Последнее: 06.10.2017, 00:15
  3. RLE сжатие (покритикуйте)
    от Vladson в разделе Программирование
    Ответов: 12
    Последнее: 16.03.2008, 12:29
  4. Ответов: 18
    Последнее: 18.06.2006, 16:50

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •