LINUX.ORG.RU

Сравнение производительности Qt и Cairo


2

0

Зак Русин провел сравнение производительности векторной графики в Qt и Cairo. Тест состоит из рендеринга трех сложных полигонов: text path, маленький полигон с большим количеством вершин на одной линии, огромный полигон с количеством вершин порядка 100000.

Измерялось количество кадров в секунду, использовались версии Cairo 1.2.5 (XRender и Glitz), Amanith из svn, Qt 4.3 (XRender и OpenGL) на Pentium4 3.2ГГц, 1Гб, NVIDIA 6600 с драйвером 1.0-9625.

Все тесты использовали антиалиасинг, и были предприняты усилия, чтобы поставить библиотеки в равные условия. Результаты очень интересны:

* Qt быстрее Cairo в XRender в 5-7 раз
* Qt(OpenGL) быстрее Qt(XRender) в 5-7 раз, но упирается в производительность GPU при 80000+ вершин
* Cairo(Glitz) показывает одинаковую производительность с Cairo(XRender)
* Ни Amanith, ни Cairo(XRender) не могут справится с последним полигоном в 100000 вершин.
* С большим полигоном Cairo(Glitz) отображает 0.2 кадра в секунду, а Qt переваливает за 10 fps.
* Qt(XRender) на порядок превосходит по производительности и Cairo(Glitz), и Amanith, хотя последние работают с OpenGL ускорением, а первый без него.


Выводы: Qt на голову выше других библиотек, а в OpenGL настолько быстр, что сравнивать с чем либо ещё просто нечестно.


PS от автора новости: Остается надеяться, что OpenSource позволит авторам Cairo "подсмотреть" построение тесселятора и рендерера, чтобы сократить разрыв до приемлемых значений.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Ответ на: комментарий от svu

>Эти "халявщики" - мелкий бизнес. Который хорошо б на линух привлекать, а не отталкивать.

Согласен, но! Я какое-то время работал в мелкой фирме: Шеф, зам (его жена), бухгалтер и я, так что поверьте, 1500 баксов на лицензию можно найти, тем более, что ее не каждый месяц покупают. Я просто не знаю, зачем тогда такой мелкий бизнес, который раз в год-два не может купить лицензии и как и на что он тогда существует.

h8 ★★★
()
Ответ на: комментарий от svu

>>Эк его замучали...
Скользкий тип это Зак (или Зэк?) . Его только спросили про код его тестов - как началось "Ты меня уважаешь? Какой, типа, код. Я, типа, open source разработчик и ниипйот. Если тебе нужен код, то сядь и пиши сам!"
Хотя с большии полигонами он прав, что обидно :( Я вот тоже на днях поимел крэши с длинными polyline на каиро. Хрен бы с ним с быстродействием, лишь бы не падало...

geekkoo
()
Ответ на: комментарий от h8

Если ДЕЙСТВИТЕЛЬНО надо - да, 1500 находятся. Но лучше б если оно бесплатно. И отмазки "месяц экономии" - не канают. Про этот месяц еще доказать надо, провести исследование, а 1500 надо из кармана прям щаз выложить...

svu ★★★★★
()
Ответ на: комментарий от svu

А отмазки "мы еще не решили, надо оно нам или нет, потому лучше нахаляву" канают? Если люди хотят заработать на софте, то сначала наверное ж делают какое-то минимальное исследование рынка, с целью убедится, что действительно можно заработать (с учетом затрат).

h8 ★★★
()
Ответ на: комментарий от h8

> канают?

Разумеется, еще как! Сделать прототип, потом решить...

> делают какое-то минимальное исследование рынка

Качественное исследование - довольно дорогое удовольствие. Есть сильное подозрение, что для мелких контор дело часто ограничивается спинномозговыми ощущениями руководителя (в лучшем случае - основанными на многолетнем знании соотв. куска рынка).

svu ★★★★★
()
Ответ на: комментарий от svu

>>> Эти "халявщики" - мелкий бизнес. Который хорошо б на линух привлекать, а не отталкивать.

я бы с радостью бы их привлек, если ты мне заплатишь

anonymous
()
Ответ на: комментарий от svu

да понятно все
и тролей понять можно, и Qt больно хороша
да и лицензию же не под проект покупают, да и контора не для одного проекта создается

anonymous
()
Ответ на: комментарий от svu

> Но лучше б если оно бесплатно. И отмазки "месяц экономии" - не канают.

Экономия на скорости разработки окупается. Тем более, что можно брать не под один продукт. А если учесть зарплаты в США и Европе...

Skull ★★★★★
()
Ответ на: комментарий от anonymous

> я бы с радостью бы их привлек, если ты мне заплатишь

"А полы Вам не помыть?" (с)

svu ★★★★★
()
Ответ на: комментарий от svu

Ок. Но шароваршики в линуксе, это как мамонты на Марсе - они тут просто не выдержат конкуренции. Они и под виндой уже начинают испытывать давление от ОСС софта. Такшта дело тут совсем не в лицензиях. И коммерчески успешный продукт (абстрактно-сферический) для линукса будет сделан явно не двумя кодерами на коленках друг-друга. И 1100 вполне посильная цена, ИМХО.

h8 ★★★
()
Ответ на: комментарий от svu

>Штука в том, что еще нужно ДОКАЗАТЬ, что эта экономия имеет место.

Конечно экономии нет. А лучше всего писать вообще на ассемблере.

jackill ★★★★★
()
Ответ на: комментарий от svu

>а 1500 надо из кармана прям щаз выложить...

С учетом среднего бернрейта по мск эти 1500 просто пшик.

jackill ★★★★★
()
Ответ на: комментарий от h8

>Ну вот есть гтк под лгпл, и что? Много шароварщиков понапривлекали? Да и как-то слабо верится в реальность этого, ибо ИМХО сама архитектура системы этому не способствует по понятным причинам (статическая сборка решает далеко не все проблемы).

Помню как в винде gimp поломал мне clamwin - тоже поставил gtk, но свою и антивирус приказал долго жить.

jackill ★★★★★
()
Ответ на: комментарий от svu

>Соббсно, мой пойнт - лицензирование под LGPL могло бы привлечь шареварщиков под линух (понятное дело, это не единственный фактор). Что способствовало бы росту популярности линухового десктопа.

Чтобы писать что?

Десять даунлоадеров, двадцать "ускорителей интернета"?

jackill ★★★★★
()
Ответ на: комментарий от svu

>мелкие коммерческие фирмочки (из одного-двух человек), для которых лицензирование кути составляет проблему

И давно они пишут кроссплатформенные приложения, востребованные и в винде, и в линуксе?

>Для них лицензия кути носит несколько парадоксальный характер: чтобы иметь право распоряжаться (в смысле лицензирования) СВОИМ кодом

Ну если они не мудаки, то прочитают лицензию. И если что-то не вставит, пойдут и возьмут чудесный gtk под lgpl. Пожалуйста. Нет проблем. Никто не заставляет.

jackill ★★★★★
()
Ответ на: комментарий от jackill

Вы готовы ДОКАЗАТЬ, что экономия от разработки на куте есть, по сравнению, допустим, с gtk+? А со связкой mono/gtk+?

svu ★★★★★
()
Ответ на: комментарий от jackill

40 кренеймов, 80 твикалок гконфа, и пр... Не говоря уж про модули расширения к xscreensaver-у c опенглевскими голыми бабами;) В общем, весь мусор с download.com

svu ★★★★★
()
Ответ на: комментарий от svu

>Вы готовы ДОКАЗАТЬ, что экономия от разработки на куте есть, по сравнению, допустим, с gtk+? А со связкой mono/gtk+?

А вы готовы сказать юзеру, что к "шароварной" проге в 1М надо еще 43М этого моно? Это в винде. А в линуксе как я говорил не выживут.

h8 ★★★
()
Ответ на: комментарий от h8

В винде дотнет и без моны есть. Кроме того, накладные расходы на vm в документации не учитываются - потому как она одна на все приложения.

svu ★★★★★
()
Ответ на: комментарий от svu

> Соббсно, мой пойнт - лицензирование под LGPL могло бы привлечь шареварщиков под линух (понятное дело, это не единственный фактор). Что способствовало бы росту популярности линухового десктопа.

Б-же, упаси нас от нашествия виндузовских шареваршиков! Нафиг, нафиг.

Для популярности линуксовому декстопу в РФ не хвататет платной 1С (неизежное зло, а что делать) и перехода клиент-банков на яву. А, еще переписание кучи заказного дерьма на дельфях и вб6.

sv75 ★★★★★
()
Ответ на: комментарий от h8

>А вы готовы сказать юзеру, что к "шароварной" проге в 1М надо еще 43М этого моно?

А что, трафик еще где-то платный? Ну уж точно не там, где пользователь будет эту прогу покупать!

sv75 ★★★★★
()
Ответ на: комментарий от sv75

>А что, трафик еще где-то платный? Ну уж точно не там, где пользователь будет эту прогу покупать!

Есть ли жизнь за МКАДом, да?

h8 ★★★
()
Ответ на: комментарий от svu

>В винде дотнет и без моны есть.

Во-во. Для использования которого, достаточно загрузить SDK, который, если я правильно помню, бесплатный.

>Кроме того, накладные расходы на vm в документации не учитываются - потому как она одна на все приложения.

Да, если это дотнетЪ. А так у Васи ВМ А, у Пети ВМ Б и т.д.

h8 ★★★
()
Ответ на: комментарий от h8

Две штуки? баксов? А четыре с половиной - ЕВРО - не хотите потратить? И не на одну лицензию - а на всех кто участвует в проекте? Да никакой шароварой вы эти расходы не окупите. Только серьезный коммерческий проект - который куда доходнее писать под венду.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

Правильно, а шаровара пишется на дотнете, и ей никакие ЛГПЛ не нужны.

h8 ★★★
()
Ответ на: комментарий от geekkoo

> Его только спросили про код его тестов - как началось "Ты меня уважаешь? Какой, типа, код. Я, типа, open source разработчик и ниипйот. Если тебе нужен код, то сядь и пиши сам!"

Там поинт немного в другом: "Я предоставил данные, и рассказал, что тестировать. Если не доверяешь моим результатам -- go ahead, напиши тест, который даст другие. Абсолютно тривиальная задача для разработчика. А если сам писать не умеешь, нафига козе баян? А внимательные люди и так знают, где брать исходники".

baka-kun ★★★★★
() автор топика
Ответ на: комментарий от svu

> Вы забыли одну составляющую - мелкие коммерческие фирмочки (из одного-двух человек), для которых лицензирование кути составляет проблему.

С финансовой точки зрения это совсем не проблема, но я слабо представляю приход мелких шареварщиков на линукс в ближайшее время.

Единственно, для чего шареварщики могут с огромной эффективностью использовать Qt (альтернатив практически нет) -- кроссплатформенная разработка Win+Mac. В этом случае разрабатывается один продукт вместо двух.

> Я про тех, кто использует их код. Для них лицензия кути носит несколько парадоксальный характер: чтобы иметь право распоряжаться (в смысле лицензирования) СВОИМ кодом, надо запатить деньги.

Не вижу парадокса. Фактически есть /две разных/ Qt -- одна под GPL, вторая коммерческая.

PS. Если писать только под винды, то эффективней купить дельфи ;)

baka-kun ★★★★★
() автор топика
Ответ на: комментарий от MYMUR

> Ты за пределы МКАДа хоть раз выезжал, чудо?

Да он, похоже и за Садовое кольцо не выбирался. У нас в Чертаново трафик платный. Видно, ему папа всё оплачивает. :)

Skull ★★★★★
()
Ответ на: комментарий от sv75

>А что, трафик еще где-то платный? Ну уж точно не там, где пользователь будет эту прогу покупать!

Если не анлим, то он везде платный. Другой момент, что в пределах мск трафик уже достаточно дешев, да и анлимы хорошеют день ото дня.

jackill ★★★★★
()
Ответ на: комментарий от svu

>Вы готовы ДОКАЗАТЬ, что экономия от разработки на куте есть, по сравнению, допустим, с gtk+? А со связкой mono/gtk+?

Могу точно сказать, что проблем от поддержки дестопного проекта на постоянно ломающемся API моно будет больше, чем от поддержки проекта на gtk или QT.

Другой момент, что gtk это все же C (который как только не интерпретируют - и C с объектами, и C++-подобный и т.п.), а QT - C++ со всеми вытекающими (множество злых языков считает, что писать на C++ быстрее и безопаснее, собственно, его для этого и разрабатывали).

P.S. Возможно, что некоторые проекты вообще стоило бы на java писать. ;)

jackill ★★★★★
()
Ответ на: комментарий от jackill

> множество злых языков считает, что писать на C++ быстрее и безопаснее

А другие злые языки считают, что наоборот (особенно про безопаснее). В общем, все упирается в квалификацию конкретных разработчиков. Поэтому я и возражаю против универсального правила "Кутя сэкономит месяц".

> P.S. Возможно, что некоторые проекты вообще стоило бы на java писать. ;)

+1!

svu ★★★★★
()
Ответ на: комментарий от klalafuda

>Qt3 на win32 - это была закрытая и чисто коммерческая версия продукта

Открытая она была. Тролтех продавали её вместе с исходниками.

Reset ★★★★★
()
Ответ на: комментарий от svu

не месяц
по сравнению с gtk будет раза в два быстрее
а если учитывать простоту кросплатформенности ...
то для кросс - выигрыш беспорный

anonymous
()

заметил я тут в супермаркете продуктовом, что места кассиров на линуксах, а софт кассирский - на КуТэ... Куда катится мир? Неужели не за горами уже и коммунизм???

KADABRA
()
Ответ на: комментарий от svu

> Соббсно, мой пойнт - лицензирование под LGPL могло бы привлечь шареварщиков под линух (понятное дело, это не единственный фактор). Что способствовало бы росту популярности линухового десктопа.

А, может быть, не надо популярности такой ценой? И так уже сделали из приличной системы хрен знает что...

COTOHA
()
Ответ на: комментарий от h8

>>Кроме того, накладные расходы на vm в документации не учитываются - потому как она одна на все приложения.

> Да, если это дотнетЪ. А так у Васи ВМ А, у Пети ВМ Б и т.д.

как раз с .Net всё хуже:

версия 1.0 не совместима с 1.1

версия 1.1 не совместима с 2.0

версия 2.0 не совместима с 3.0

и похоже продолжение следует ...

vadiml ★★★★★
()
Ответ на: комментарий от Skull

> У нас в Чертаново трафик платный.

Эээ странно, и в северном бутово и в долгопрудном есть анлимы ~30$, и это не стрим..

szh ★★★★
()
Ответ на: комментарий от szh

> Эээ странно, и в северном бутово и в долгопрудном есть анлимы ~30$, и это не стрим..

Так всё таки платный? :)

Skull ★★★★★
()
Ответ на: комментарий от anonymous

Вы готовы ДОКАЗАТЬ, что это будет в два раза быстрее? Независимо от начальной квалификации и опыта разработчиков? Готовы поставить на это деньги?;)

Кроссплатформенность - не аргумент. Сам по себе гтк кроссплатформенный. Множество библиотек из Г-стека тоже. Гимп, гнумерик и даже ева собираются и работают под винюками (правда, ева совсем недавно - подозреваю, не слишком стабильно).

svu ★★★★★
()
Ответ на: комментарий от KADABRA

Все может быть, глядишь, и снова по талонам крупу будут давать.

anonymous
()
Ответ на: комментарий от MYMUR

Проблемы туземцев шерифа не волнуют.

anonymous
()
Ответ на: комментарий от svu

>> Вы готовы ДОКАЗАТЬ, что это будет в два раза быстрее? Независимо от начальной квалификации и опыта разработчиков? Готовы поставить на это деньги?;)

провокация на провокацию ?:)

одно знаю точно - НИКОГДА под моим началом не будет кода на C

а доказать, сами понимаете - сложно ....
можно применить глупый критерий - количество символов
получится в два раза
можно косвенно - общее количество стандартных приложений в KDE и GNOME
(не важно какие они - важно их количество) - так-же получится в два раза.
Можно субъективно - набросать прототип и некоторые схемы, и оценить
- получается в два раза
Можно организационно - выделить две группы для соревновательного написания прототипа, одна пишет на gtk другая на qt - организовать постоянные обсуждения,
выиграет тот кто убедит соперника

P.S.
Кстати, никто мне не докажет наличие лицензионных проблем с написанием прототипа на GPL

anonymous
()
Ответ на: комментарий от svu

С большим интересом следил за Swing over OpenGL. Скорости как-то не особенно прибавляется. Конечно, некоторые операции ускоряются заметно, но этого мало. Для полноценого применения ОпенГЛ нужно менять всю модель отрисовки, а с ней и модель событий.

То, что Гтк+ через Глитз токазал очень скромный результат - это закономерно. Эти проблемы где-то внутри Гтк и не решаются годами. Еще в эпоху Эклипс 2.х мучался с гткшной версией, тогда как Эклипс на основе библиотеки СВТ-ФОКС работал так же шустро камк и в винде. Падал через раз и не было юникода, но это к делу не относится. Может, оказывается, графика в линуксе быть такой же быстрой как и в винде.

Свинг, Гтк, Кут - узкое место современных ЮИ и их уже не исправишь. Чтобы заюзать весь потенциал даже лоу-энд 3Д карточек нужены фрэймворки, позволяющие "на раз-два-три" (декларативно) генерить очень сложный по количеству элементов контент, типа веб-браузеров. Я имею в виду применение методов автогенерации контента и усиленных алгоритмов его раскладки по экрану. Сейчас же мне каждую линию надо где-то вручную закодировать, каждый проперти где-то прописать и т.п. В свое время ТурбоВижн был большим шагом вперед в области ЮИ. И с тех пор ничего не поменялось в плане АПИ.

aist1 ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.