Bug 54710

Summary: mapsoft2: ms2img: Очень долгая конвертация больших файлов в GIF
Product: Sisyphus Reporter: Artem Varaksa <varaksaaa>
Component: mapsoft2Assignee: Vladislav Zavjalov <slazav>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: slazav
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Artem Varaksa 2025-06-06 18:09:12 MSK
Шаги
====

1. # apt-get install -y mapsoft2
2. Поместить любые большие file.{jpg,tiff,gif,png} изображения в папку source, например с https://www.online-convert.com/file-type.
3. $ for source in jpg tiff gif png; do
        echo "$source ->"
        for target in jpg tiff gif png pnm; do
            echo -n "  $target... "
            time -f "%es" -- ms2img source/file.$source output/file.$source.$target
        done
    done


Фактический результат
=====================

Конвертация в формат GIF из JPG, PNG и даже GIF (!) занимает значительно больше времени (30-40 секунд), чем другие, и даже чем TIFF -> GIF (все < 10 секунд):

> jpg ->
>   jpg... 0.66s
>   tiff... 1.23s
>   gif... 37.60s
>   png... 7.26s
>   pnm... 1.46s
> tiff ->
>   jpg... 0.02s
>   tiff... 0.07s
>   gif... 5.40s
>   png... 0.56s
>   pnm... 0.09s
> gif ->
>   jpg... 0.34s
>   tiff... 0.37s
>   gif... 29.77s
>   png... 1.33s
>   pnm... 1.16s
> png ->
>   jpg... 0.75s
>   tiff... 1.49s
>   gif... 35.58s
>   png... 8.21s
>   pnm... 1.60s

Ожидаемый результат
===================

Конвертация занимает < 10 секунд.


Воспроизводимость
=================

Воспроизводится на виртуальных машинах:

[sisyphus] ALT Workstation 11.0 x86_64
mapsoft2-2.10-alt1.x86_64

[p11] ALT Workstation 11.0 x86_64
mapsoft2-2.7-alt1.x86_64
Comment 1 Vladislav Zavjalov 2025-06-08 14:40:35 MSK
Задержка происходит при преобразовании картинки к 8-битной палитре. Для 8-битного gif это неизбежно, тот же эффект можно наблюдать и при сохранении в 8-битный png (`ms2img in.jpg --png_format=pal out.png`). Там можно попробовать какие-то оптимизации придумать при поиске ближайшего цвета, я над этим подумаю