Comments 45
Если в вашем браузере декодирование GIF реализовано неверно, то один из показанных выше GIF будет иметь неправильную скорость.Задержка в 20мс — просто наркоманский трип.
Vivaldi 5.3.2679.68 (Stable channel) (64 бита)
Версия ecfb656707bbec7aa16f80eb0ea2f4e98e14567b
А может, уже закопать наконец стюардессу, а не пытаться реализовать поддержку стандарта 33-летней давности?..
Ну Skype, скажем прямо, сам по себе уже та самая стюардесса, увы...
Но я в основном браузеры имел в виду, в посте же про них речь. И, вроде, после наконец-то свершившихся официальных похорон IE проблем с поддержкой WebP/WebM/HTML5 Video ни у одного из браузеров актуальных версий не возникает.
Остаются проблемы с движками всяких форумов и иже с ними, которые как написаны 20 лет назад с поддержкой только GIF, так до сих пор и работают.
В Firefox 102.0.1 (64 бита) на Manjaro у меня нормально отрисовались гифки (как многоцветная, так и с красными квадратами), градиент статичен и отрисован полностью и красный квадрат на верхней гифке не промелькивает, как на картинке "Я захотел узнать, как выглядел рендеринг GIF в Netscape 2.0. Вот тестовый GIF с красными квадратами из примера выше, отрендеренный
(правильно!) в Netscape 2.0 и Windows 95".
Аналогично. Firefox 102.0 на win 10, на arch linux и на android рендерит правильно.
Странно. У меня на той же версии, и, скорее всего, той же сборке (Arch Linux x86_64, firefox-102.0.1-1), рендеринг (с точки зрения автора) неправильный. То есть после
Для понимания контекста покажем, как на самом деле рендерятся показанные выше GIF:
Идёт постепенно заполняющийся многоцветный квадрат и анимация с мелькающими красными квадратами.
Многоцветная GIF в статье сохранена как PNG.
Вот тут в GIF
Так это чтобы показать, как он должен выглядеть, потому что такое в gif сделать нельзя из за кривой реализации.
Этим занимались все браузеростроители в части HTML из-за чего мы имели кучу костылей из-за несовместимости кода между разными движками. Слава Гуглю, сейчас у нас единственный "верный" "стандарт" /sarcasm
Ну нас вроде как всё еще даже габариты элементов ракеты привязываются к ширине зада лошади... Так что мне кажется дело не в некачественном стандарте
Меня очень интересует, а возможно ли в GIF сделать анимацию палитры? То есть чтобы был сохранен один кадр, а дальше только палитры для множества следующих кадров, для каждого кадра чуть другая палитра. Это бы радикально уменьшило размер файла. Но кажется, такой возможности нет? И если в анимации 256 кадров 400x400, например, то итоговый размер файла и выходит 256*400*400, а это 40 мегабайт, при размещении онлайн это слишком много.
И если в анимации 256 кадров 400x400, например, то итоговый размер файла и выходит 256*400*400, а это 40 мегабайт
Нет. В GIF для уменьшения размера файла применяется сжатие LZW, плюс всякие оптимизации по прозрачности кадров (т.е когда каждый последующий кадр хранит только изменения относительно предыдущего)
Эффективность сжатия может быть невелика, если изображение содержит много мелких деталей. Пример - гифка 400x400 весит 33 Мб:
https://upload.wikimedia.org/wikipedia/commons/b/b6/Mandelbrot_Set_Color_Cycling_Animation_400px.gif
Проблема в том, что никто не поддерживает задержку 0. То есть ни одна из программ, которыми вы обычно просматриваете GIF, её не поддерживает
IrfanView точно поддерживает или ранее поддерживал. Возможно и XNView.
Статический файл GIF из более чем 256 цветов, комбинирующий несколько кадров.
А вот фиг вам в обе руки. Палитра меняется раз в полный кадр. И такое, отчасти, в рамках анимации, может не только GIF, но и SMK. Fallout 1/2 не работают в окне винды именно потому, что "морды" для анимации используют переопределяемую палитру для каждого кадра.
А не поздновато ли пытаться исправить GIF? Уже есть куда более прогрессивные форматы для анимированных изображений, WebP например.
Отчасти да, отчасти нет. Фактически скорости передачи данных возросли настолько, что и RLE прекрасно справляется с передачей "маленьких данных".
P.S. И в РФ и в РБ скорость передачи данных заметно выше среднего значения, а значит справится с любым "оверпрайсом"
Заметно выше тех стран, которые вообще не в курсе что такое интернет.
Мобильный интернет и по прежнему выше. Кусните лося за хвост. В РБ средний явно выше 15mbps.
Лохалка? В РБ "лохалка" меньше гигабита это "лохалка" для "лохов", даже в райцентрах с населением менее 10000.
РБ/РФ в 20-е по скорости инета, хоть какого. А Украйна, пусть и с взрывающемся старлинком где? В конце второй сотни.
По мобильному — ещё хуже, РФ — 85-е, РБ — 135
Центр Гамбурга (Германия - согласно той статистики 33-е место), 4G/LTE с трудом выдает 3Mbps (и пинг за сотню), при том что в различных крыльях здания, расположенного буквой П, местами тот 4G падает до E а то и вообще до 0 (причем в разных местах у разных провайдеров по разному - в одном месте у одного 0 или E, в другом - у другого).
Отъехав от Гамбурга на какие то 5 км (да и в самом городе местами) вы можете вообще потерять связь. Совсем. Езжу 15км от дома до работы и местами (всегда одни и те же три/четыре точки) - тупо дыра, ни интернет-радио, ни ватсап, ни ТГ - ничего, пока тупо их не проедешь.
покрытие около г. Гамбург для разных сетей
И это не в одной Германии так. Поездив по миру, я много где наблюдал подобную картину (за несколькими исключениями, например в той же Голландии и Норвегии). При том что в РФ как раз очень редко случалось, что связи нет вовсе. И я не про "внутри МКАДа" сейчас... Даже, как-то лет 10 назад, проехав 2 тысячи км, Санкт-Петербург - Вологда - Киров - Пермь - Екатеринбург, связь по ощущениям была почти везде.
В той же Германии 10 лет назад было совсем печально всё.
гигабит по воздуху доступен
Да-да... и травка зеленее, и солнышко желтее.
В массе своей 50-100 а то и 10Мбит/с для стационарного-то интернета (DSL) - уже считается хорошо. Стекловолокно тянут конечно тут и там, но как-то всё не разгонятся.
По воздуху же гигабит - вообще что-то из области фантастики. И даже если он номинально имеется (по договору 5G присутствует), то по факту выше 4G+ (а реально где-то в районе 250Мбит/с) я скоростей не видел, и не слышал ни от кого пока.
Как мне кажется проблема в той статистике, что если "сложить" человека (сидящего рядом с 5G антенной) с условными 450Мбит/с и 9 человек с 10Мбит/с, то в среднем получим тот полтинник (согласно статистике 53.65Mbps). Только его по факту как не было так и нет.
Ну и парадокс выжившего сверху (из мест с 0Мбит статистика тупо не идет).
И тут вылезают люди с пятым айфоном)
А зачем она нужна вообще?
Многие "динозавры" в сфере ИТ возмущаются, что современные разработчики ничего сами не пишут, а просто устанавливают npm-пакеты на любой чих. Вот наглядная иллюстрация того, к чему приводит обратный подход. Если бы разработчики всех этих браузеров использовали бы в качестве зависимости один и тот же пакет, скажем gif-renderer, то пофиксить этот баг можно было бы одним пулреквестом в репозиторий этого пакета. А так как тут у каждого свой самописный велосипед, то сделать это невозможно.
пофиксить
или автор пакета решил бы что надо GIF похоронить и единолично его запретил. Или убрал бы совместимость с каким-нибудь старым режимом - и у всех бы все сразу сломалось.
Что значит у всех все сломалось?
У пакетов есть версии. Хочешь пользоваться старой версией пакета совместимой со старыми режимами, пользуйся на здоровье.
Большинству это совершенно не нужно. Людям нужна поддержка современных стандартов и оптимизация под современные девайсы. Поддержка мейнфреймов, ЭЛТ-мониторов и совместимость рендеринга гифок с Netscape Navigator никому не сдалась.
Кстати, из npm после того случая с leftpad автор уже давно не может удалить пакет, если у пакета больше какого-то количества скачиваний.
Исходный код Internet Explorer 5 закрыт, но гипотетически он мог бы выглядеть примерно так:
i see what you did there :)
Повеяло ностальгией! Вспомнил свой первый мобильник с цветным экраном — Pantech какой-то. По канону эпохи в него были вшиты шаблоны MMS. Такие анимированные открытки под музыку. Отправил кому-то такую на самсунг-раскладушку. Дико удивился, что гифка моргает гораздо быстрее. На моей мобиле хорошо если кадр в секунду был!
Звук, кстати, полифонический был гораздо приятнее на «Пантеке».
А как дела обстоят с PNG анимацией и всякими WEBP форматами изображений? Сколько уже можно насиловать труп GIF89?
Пока не очень. И ещё лет 5-10 будет не очень. Другое дело, что в вебе давным-давно реализован механизм позволяющий указать список вариантов медиа и браузер сам решит, какой вариант лучше всего отрисовать.
Т. е. умеющие загружают WEBP, а не умеющие условный PNG.
Обычно просто отдают .mp4 под видом "гифок". А загружаемые гифки конвертят
Самого быстрого GIF не существует