После восемнадцати месяцев разработки представлен (http://cairographics.org/news/cairo-1.12.0/) новый стабильный релиз векторной графической библиотеки Cairo 1.12.0 (http://cairographics.org). Особенностью Cairo является поддержка формирования 2D-графики, используя различные механизмы вывода, от стандартного вывода на экран через X Window System, Quartz и Win32, до генерации PostScript, PDF, SVG и задействования OpenGL, XCB и DirectFB. При этом библиотека обеспечивает унифицированный интерфейс для формирования изображений, независимо от используемого бэкенда вывода. API библиотеки предоставляет функции, напоминающие операторы рисования PostScript и PDF, дополненные возможностями трансформации изображений (масштабирование, поворот, вращение и т.п.), создания полупрозрачных объектов и рендеринга текста. Код Cairo написан на языке Си и распространяется под лицензиями LGPL и Mozilla Public License. Среди известных проектов, использующих Cairo, можно отметить GTK+ и Firefox.
Среди новшеств, добавленных в Cairo 1.12.0:- Поддержка сетчатых градиентов (mesh gradient (http://tavmjong.free.fr/SVG/MESH/Mesh_Boundaries.html)), которые компонуются из набора простых градиентов, привязанных к сетке из кривых Безье, что позволяет формировать более эффектные заливки, включающие блики и неравномерное перетекание цветов (классические примеры - заливка капли воды или шара с отблеском);
- API для выполнение callback-вызовов, которые позволяют получить доступ к пиксельным данным заданной области во время рендеринга. Например, приложение может независимо от Cairo получить данные после распаковки изначально сжатого изображения или реализовать отложенный рендеринг;- API (cairo_surface_create_similar_image, cairo_surface_map_to_imag), позволяющий создавать поверхности как при работе с изображениями, а также обращаться к уже существующим векторным поверхностям как к изображениям, с возможностью непосредственной модификации растровых данных;
- Проведение работы по оптимизации производительности и устранению известных узких мест. Переработаны процессы растеризации и клиппинга, бэкенды вывода теперь могут реализовывать свои специфичные пути построения картинки, выбирая более оптимальные последовательности выполнения операций;- Поддержка задания опций сглаживания (NONE, FAST, GOOD, BEST), позволяющих выбрать приемлемый для себя баланс между скоростью и качеством;
- Новая архитектура наблюдения (cairo_surface_observer_t), позволяющая проанализировать время, затрачиваемое на те или иные команды рисования и выявить факторы, оказывающие негативное влияние на эффективность работы как Cairo, так и приложений;
- Значительно улучшен бэкенд для вывода через OpenGL, в том числе добавлена поддержка OpenGL ES 2 и задействованы расширенные возможности оборудования.
URL: http://cairographics.org/news/cairo-1.12.0/
Новость: http://www.opennet.me/opennews/art.shtml?num=33452
>Среди известных проектов, использующих Cairo, можно отметить ... и Firefox.А разве они на свой Azure не перешли?
Пока что только для canvas.
Вот баг для включения Azure для контента по-умолчанию: https://bugzil.la/715768
То есть возможно появится в 12 версии firefox'а?
Возможно появится в 14-ой версии и то не факт. Впрочем он уже работает в Nightly и вполне стабилен. Единственное, что пока бросается в глаза, это неправильный рендеринг полупрозрачных изображений при скроллинге.
Azure не рисует сама. Это фронтед, который используется мозиллой. А бэкендамы могут быть разные(вот в винде сейчас 3д ускоренный, если поддерживается). Для линукс ща пилят Skia бэкенд.
Ох уж этот новый cairo.... Тпереь разработчики опять начнут:
зависимости: требуется cairo => 1.12IMHO: это самый большой минус linux, - то, что "разработчики" стараются задействовать самые последние библиотеки (хотя в 99% случаев этого не нужно).
Зависимости реально большая проблема Linux систем.
Сейчас хоть все более менее стабилизировалось, вот раньше было...
И проблема не в последних библиотеках. Проблема больше в самих системах.
Почему не сделать единую систему с едиными библиотеками?
Как по мне больше места один, сейчас сходящий на нет, минус такого подхода.
Яблоко, окошки, фря целостные системы. Вот этого не хватает системе.
Недавно один из специалистов писал по это. Что дистрибутивы берут на свои плечи слишком много ПО поддерживать. А учитывая, что тут по большей части открытые проекты и сложность возрастает.
Лучше бы сделали единую стабильную систему хорошим комплектом библиотек, а по под систему разработчики пусть обслуживают.
Да и фрагментация выросла до колоссальных размеров. У меня например на убунте 12.04 чуть больше 200.000 файлов. При этом ну не так много софта установлено.
Не лучше ли начинать объединять те же файлы в единые.
Библиотеки объединить, столько разделяемых библиотек появилось, многие ис которых используют одна ну две программы.
Я не говорю про желебцо, qt или gtk.
Ну слишком фрагментированные системы.
Так а в чём проблема то?
> У меня например на убунте 12.04 чуть больше 200.000 файлов. При этом ну не так много софта установлено.А у меня, например, в виртуалке стоит винда, и в ней установлен Adobe InDesign (для проверки генерируемых ICML/IDML) - при этом в папке Program Files/Adobe 20.000 файлов в 3.300 папках. Это одна-единственная программа, между прочим.
Может, проблема где-то глубже, в консерватории?
Про окна можно поподробней где они целостные системы? У них есть репозиторий библиотек? У вас ни разу не было что для данной проги MFC не той системы или Net не той системы? ответ просто просто под виндой все устали и с собой таскают ВСЕ необходимые библиотеки иначе прогу не поставить, что не совсем совпадает с идеологией Linux а точней даже Unix. Так что не надо про целостность производители дистров всё сделают хорошо, а вот на старый дистр что то новое поставить будет некоторой проблемой, ну так что вовремя обновляйтесь ;)
Зависимости это реально сильная сторона Линукс. Я честно говоря не знаю, что вы имеете в виду, называя Виндоус целостной системой. Это когда каждая прога тащит за собой версии 1.2.3.4.5 библиотек, если уже стоят 1.2.3.4.7, 1.2.3.5.1 и т.п. Это целостная система? Это свалка библиотек. И кладут они их куда левая пятка прогера захочет.Почему вы называете фрю целостной, а линукс - нет? Потому что фря оставляет старые версии библиотек? Ну так и в линуксах бывает... портежи, слоты. И управлять этим вполне удобно. В отличии от той же целостной свалки Виндовс.
погугли на досуге про «менеджеры пакетов». оно понятно, что у тебя в винде такого нет, но это не значит, что остальные системы настолько же ущербны.
И правда, ну кому нужны эти дурацкие меши. Понаучили тут дизайнеров, понимаете ли... :)
> "разработчики" стараются задействовать самые последние библиотеки... потому что бодаться с багами и упущениями старых, им внезапно неохота. И правильно делают. Мало какой автор сознательно портит свой софт.
>> "разработчики" стараются задействовать самые последние библиотеки
> ... потому что бодаться с багами и упущениями старых, им внезапно неохота.
> И правильно делают. Мало какой автор сознательно портит свой софт.Было бы "угу", если бы не одно "не": для 99% разработчиков требуется только старый древний родной функционал от общих библиотек... И его "патчение" (старых багов) - не приводит в зависимостях к смене версий с 1.2 на 1.8 (e.g.), а с 1.2 на 1.2.002 и это нормально
>>> "разработчики" стараются задействовать самые последние библиотеки
>> ... потому что бодаться с багами и упущениями старых, им внезапно неохота.
>> И правильно делают. Мало какой автор сознательно портит свой софт.
> Было бы "угу", если бы не одно "не": для 99% разработчиков требуется
> только старый древний родной функционал от общих библиотек... И его "патчение"
> (старых багов) - не приводит в зависимостях к смене версий с
> 1.2 на 1.8 (e.g.), а с 1.2 на 1.2.002 и
> это нормально---
PS. Сам то я тока на игрушках и последних приложениях (типа dccp) сталкивался с такой проблемой (требование супер-новых-библиотек) ... А недавно одна консольная(!!!) программка при компиляции потребовало последней версии QT. Честно говоря, достало...
А что удивительного? Вопреки распространенному мнению о том, что Qt - это исключительно графическая библиотека, Qt является полноценным фреймворком для построения приложений любого типа. Qt имеет хорошо спроектированный и отлаженный API: она умеет обрабатывать XML, гонять данные по сети по различным протоколам, обеспечивает поддержку скриптового языка (Qt Script) и даже предоставляет свою реализацию строк, контейнеров и способа хранения мета-информации. *Одним* из ее модулей является QtGui, который как раз и реализует графический тулкит. Но он не единственный, поэтому имхо, это нормально, что неграфическое приложение использует Qt (конечно, если это не QtGui :) ).
В огороде бузина, а в линуксе - Qt. Вы хоть поняли конкретно о какой проблеме идёт речь?
а ты?
> А что удивительного?удивительно то, зачем консольной программе QuickTime, и с какого испугу QuickTime оказался в репозиториях.
а не пробовал принудительно указывать версию нужной библиотеки?
>> "разработчики" стараются задействовать самые последние библиотеки
> ... потому что бодаться с багами и упущениями старых, им внезапно неохота.
> И правильно делают. Мало какой автор сознательно портит свой софт.JFYI, в cairo-1.12 как раз есть регрессы: https://bugzilla.altlinux.org/27121
> JFYI, в cairo-1.12 как раз есть регрессы: https://bugzilla.altlinux.org/27121везде бывает. починят, что уж.
> то, что "разработчики" стараются задействовать самые последние библиотеки (хотя в 99% случаев этого не нужно)Если использовать устаревшие вызовы, то вполне вероятно, что в какой-нибудь новой версии их выкинут и вообще ничего не соберётся. Хрен редьки не слаще.
IMHO, это проблема только для тех, кто сам хочет самого последнего, что, вообще говоря, и не является проблемой при последовательном подходе
> IMHO: это самый большой минус linux, - то, что "разработчики"
> стараются задействовать самые последние библиотеки (хотя в 99% случаев этого не
> нужно).действительно. то ли дело древние версии с тыщелетней давности багами!
>> IMHO: это самый большой минус linux, - то, что "разработчики"
>> стараются задействовать самые последние библиотеки (хотя в 99% случаев этого не
>> нужно).
> действительно. то ли дело древние версии с тыщелетней давности багами!люди? нет, сынок, это фантастика.
bug-fix-релизы? а что это?
DigiKam недавно компилил под Slackware так пакет занял 88метров.
Потом ставил с exe в Windows тот занимает 200Метров.
Всё дело в том что Вам нужно понять преимущество оьщих библиотек от статических бинарников.
> Всё дело в том что Вам нужно понять преимущество оьщих библиотек от
> статических бинарников.Это в общем случае так, кроме того момента когда API/ABI либы меняется. Тогда попадос на пересборку зависимого от нее софта еще.
>> Всё дело в том что Вам нужно понять преимущество оьщих библиотек от
>> статических бинарников.
> Это в общем случае так, кроме того момента когда API/ABI либы меняется.
> Тогда попадос на пересборку зависимого от нее софта еще.Звучит так, будто квартиру забирают за долги. Видимо тащить за собой кучу статики разных версий, засирать ею память - не попадос? Только вот систему раз пересобрал и всё, а работать нужно постоянно.
>раз пересобралЕщё раз, ещё много-много раз.
а зачем вы версии обновляете? ограничтесь исправлением ошибок.
Не ставьте тогда себе такие системы, которые требуют пересборки. Чего ноете-то? Вас кто-то заставляет это делать? Мне в своё время это надоело, я отказался от таких дистрибутивов. И много лет проблем особых не знаю. А то сами выбирают дистрибутивы, где надо пересобирать постоянно. И сами же жалуются, что надо пересобирать. Смешно же.
> И сами же жалуются, что надо пересобирать. Смешно же.Не, тут фикус в том, что ставят одни, а жалуются совсем другие. Редко кто перещёл с SB на BB и пинает SB. просто они знают, в каких случаях удобнее пересборки, а в каких бинари. наиболее рьяные противники SB это как раз неосиляторы, котрым на экране показали процесс сборки или они сами раз ткнулись и назад на свою любимую венду. И оттуда начинают вещать пересборка - это плохо (1) линукс это пересборки (2). Причём в плане (1) им подвывают убунтоиды, но не нормальные толковые, а те, которые друг другу советуют на форумах переустанавливать убунту на каждый чих аки венду.
> наиболее рьяные противники SB это как раз неосиляторы
> http://www.linux.kiev.ua/ru/docs/articles/ideal-sysadm-rpm/немного неясно, зачем приплетён make install, перетирание конфигов. в SB эта проблема успешно решена. во фряхе дефолные конфиги падают в xxx.conf.default, в генте есть dispatch-conf.
>> http://www.linux.kiev.ua/ru/docs/articles/ideal-sysadm-rpm/
> немного неясно, зачем приплетён make install, перетирание конфигов.Думаю, об этом лучше бы спросить автора. ЕМНИП опыт с фрями у него тогда был.
> в SB эта проблема успешно решена. во фряхе дефолные конфиги падают в xxx.conf.default
IMHO это решение ниже уровня техники: лишний мусор (за который некоторые так укоряют линуксовые дистрибутивы) в случае немодифицированных конфигов, лишняя возможность развала при известной необходимости изменения конфига при обновлении (например, формат сменился и с правленым от старой версии попросту не взлетит).
Конкретно в RPM это разрулено путём навешивания %config для автозаменяемых или %config(noreplace) для тех вариантов, когда локальные правки дороже формата: http://www-uxsup.csx.cam.ac.uk/~jw35/docs/rpm_config.html
В дебиане несколько иначе, но там и не вкапывался.
> в генте есть dispatch-conf.
Судя по http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml?part=..., это из другой оперы (в альте для фиксации истории конфигов при обновлениях используется etckeeper, например).
Собсно это всё к тому, что шкала соотношения гибкость/жёсткость где-то такая:
руки > dpkg+debconf > rpmСоответственно есть применения, где важнее гибкость, а есть -- где жёсткость. Они хороши или плохи не сами по себе, а в зависимости от того, насколько разумно применены.
>>> http://www.linux.kiev.ua/ru/docs/articles/ideal-sysadm-rpm/
>> немного неясно, зачем приплетён make install, перетирание конфигов.
> Думаю, об этом лучше бы спросить автора. ЕМНИП опыт с фрями
> у него тогда был.
>> в SB эта проблема успешно решена. во фряхе дефолные конфиги падают в xxx.conf.default
> IMHO это решение ниже уровня техники: лишний мусордефолтный конфиг установленного софта это очень полезно. ни разу не мусор.
> развала при известной необходимости изменения конфига при обновлении (например, формат
> сменился и с правленым от старой версии попросту не взлетит).ну как бы обновление обычно сопровождается комментами и варнингами. Тут согласен - не очень-то технологично, но в принципе нормально
и опять-таки мейнтейнер порта(портежа) может разрулить ситуацию.
> это из другой оперы (в альте для фиксации истории конфигов при
> обновлениях используется etckeeper, например).не знаю насчёт другой оперы, но вполне удобственно.
> Соответственно есть применения, где важнее гибкость, а есть -- где жёсткость.
> Они хороши или плохи не сами по себе, а в зависимости
> от того, насколько разумно применены.штатный-то способ как правило один. или я не о том?
> дефолтный конфиг установленного софта это очень полезно. ни разу не мусор.Есть в пакете и, возможно, локальной SCM.
>> Соответственно есть применения, где важнее гибкость, а есть -- где жёсткость.
>> Они хороши или плохи не сами по себе, а в зависимости
>> от того, насколько разумно применены.
> штатный-то способ как правило один. или я не о том?Почти: в каком-то месте гибкость gentoo будет полезна, а в каком-то -- опасна. То же самое с дубовостью редхата.
>> дефолтный конфиг установленного софта это очень полезно. ни разу не мусор.
> Есть в пакете и, возможно, локальной SCM.дело привычки
> Почти: в каком-то месте гибкость gentoo будет полезна, а в каком-то --
> опасна. То же самое с дубовостью редхата.собственно и не возразишь :)
>>раз пересобрал
> Ещё раз, ещё много-много раз.Скриптам не влом.
> Тогда попадос на пересборку зависимого от нее софта еще.AthonXP 1600+ негодуэ.
Просто это гогно написано на плюсах и шаблонах (т.е. много кодогенерации на пустом месте), к библиотекам это имеет косвенное отношение.
Есть только одна "правильная" версия, это та которой хочет заниматся автор.
> Есть только одна "правильная" версия, это та которой хочет заниматся автор.впервые (честное слово) вижу отсутствие мягкого знака там, где он должен быть, в том месте, где обычно лишний мягкий знак, которого не должно быть.
ждём меши в Inkscape
Возьмите и соберите бранч. Что _меша_ет? :)
Посмотрел варианты под винду: всё настолько тухло, что ни о какой будующей популярности либы речи даже не идёт. Зачем поддерживать платформу, для которой даже нет вразумительных бинарей?! :)) Ссылаются на протухшие пакеты Gtk+ for windows, хотя мне и нужен всего единственный файл cairo-2.lib.
Причём очевидно, что на винде первый тулчайн - MS VC (от студии 2008 и выше). Разрабы же для билда опять предлагают секс в гамаке и ластах - ставить чужеродные и устаревшие cygwin/mingw, качать сорсы libpng... оно нам надо?
Вобщем, разрабам лучше не позориться и гнать версии под линупс. Захотят чего-то под виндой - пусть хоть почитают о юзабилити пару-тройку томов.
действительно, зачем поддерживать систему, где даже нормального репозитория и пакетного менеджера нет?кстати, рсдн находится вот тут: http://rsdn.ru. не путай больше URLы, пожалуйста.
ты бы, голубчик, сначала узнал, что такое «репозиторий». и чем это отличается от «помойки».и ещё раз настойчиво прошу не путать URL'ы: я же дал уже правильную ссылку на rsdn.
>ставить чужеродные и устаревшие cygwin/mingwНу-ну. Зонд от мс-а Вам повкусу.
вы только что прочитали плач человека, привыкшего жить в помойке, и пытающегося устроить помойку везде, где он задерживается более, чем на пять минут.с другой стороны, это очень хорошо: помоечники помучаются-помучаются, да и уходят в привычную для себя среду обитания.
>задействования OpenGL, XCB и DirectFB
>XCBА что XCB уже стабильная?
> А что XCB уже стабильная?а что, нет? не менее «нестабильная», нежели протокол X11.