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 ()
Ответ на: комментарий от anonymous

> а qt показывает что лучше переписать на c++ - получится эффективнее и компактнее чем использовать кривые и жирные сишные библиотеки

Это да, кривые, глючные и жирные с++ софтины - куда лучше. Зато с с++-ными либками все в шоколаде - маленькие и шустрые.

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

> qt3 - это уже почти то история :) > use qt4, Luke

Угу, а софт где же? Или вы куте-4 для ассистанта с дизайнером токмо держите и пользуете?

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

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

Мсье кого-то подозрительно напоминает... был тут один флеймер =) И ту же траву курил, небось, что даже КДЕ избавлялось от зависимостей к listdc++.

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

> земляк, а такой дурак .....

Неа, ленивый ;)

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

>в прогрессе смысла нет никакого, и главное - это столь милые сердцу свист и зловоние.

Золотые твои слова! Как видно, ты им неукоснительно следуешь (свистишь и зло воняешь). Иди, на заборе напиши "C++ дле ламироф", раз тут все такие регрессивные.

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

> Угу, а софт где же? Или вы куте-4 для ассистанта с дизайнером токмо держите и пользуете?

ну есть вы его держите лишь ради KDE то туда вам и дорога.
белые люди держат его ради тех самых "серьезных приложений".
только на спрашивайте каких - вам все равно не понять.

// wbr

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

И ещё странно, по ссылке сказано, что проверял отрисовку трёх многоугольников, а в файле данные для четырёх, в чём прикол?

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

> для того что бы использовать библиотеку под разными языками существует IDL, а не С

Посмотрел. Хотите сказать, что создавать _приложения_ на _других_ языках, используя Qt через корбу - это будет быстро? :\

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

>Поддержание этой дискуссии имеет смысл только в качестве средства извлечения гика из автобана.

Только этого нам и не хватало. У ГНОМа защитников-нападающих (больше нападающих, чем защитников) и так хватает. А мистер E - это вообще ненавистник всего и вся, но особенно KDE.

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

> Посмотрел. Хотите сказать, что создавать _приложения_ на _других_ языках, используя Qt через корбу - это будет быстро? :\

кстати, вполне запросто. два объекта CORBA могут жить хоть в контексте одного процесса so накладные расходы на конвертацию параметров и тд. и тп. будут минимальны. сильно зависит от конкретной ситуации и реализации.

// wbr

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

2MYMUR
вы плохо читаете,- "дебилы с альтернативным видением интерфейса" это
слова некого Jackill, а не все того же ананимуса; есть и другие шобутные ...
А тулкит я уже выбрал, и это не Qt, и не столько из-за этого

2h8
2blaster999
>Это обычная норма проведения холиваров на ЛОРе. И Qt'шники тут ни при >чем.
на лоре не первый день, и норму лора знаю :)
Только, IMHO, гномеры подобрее будут, чем кдеешники
Эта ветка только подтверждает мое мнение, причем сильно подтверждает

L_user
()

Кстати, никто не заметил, как 3 ветки обсуждения (эта, "Вышел Mozilla Firefox 2" и "Три причины использовать GNOME/KDE?") слились в одну и свелись к привычному флейму Qt vs GTK? Оччень любопытное явление. Этакий "распределенный флейм".

blaster999 ★★
()

Кто-нибудь, переведите GPL на падонкаффский, а то не все члены дискуссии смогли его "асилить"...

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

> КДЕ же в корпоративной среде без гномьего софта работать не может. Что и требовалось доказать.

Что такого обеспечивает Gnome, что не может KDE? Доступ к Exchange из Evolution (только это и мог вспомнить)?

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

> В игры не играю. Даже в обучающие. Благо уже отучился школьному курсу географии.

Это и для бизнеса удобная штука. Иначе бы не предлагали гугловцы.

> Поработайте в корпоративной среде без PDF формата. Будет очень смешно.

Работаю в корпоративной среде с PDF.

> Что же до опен-сорсных pdf смотрелок - то они есть, но рисуют погано. Глаза болят от невыключаемого антиалиасинга самого поганого пошиба.

Записываем: KPDF не видел.

> Приложение должно заменять аналогичное приложение виндоус - не функционально, а на уровне совместимости форматов и протоколов.

Так. Согласен. Теперь скажите, что именно не поддерживают приложения KDE, а поддерживают приложения GTK+. С KPDF вы откровенно облажались. Что дальше?

> Тем что он нихрена не умеет работать с видео-DVD

Буду знать. :)

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

> Гном - для тех, кто хочет работать, не отвлекаясь на интерфейс, который, кстати, удобный и консистентный настолько, что его не замечаешь. Все остальное - от лукавого.

Ага. KDE - для тех, кто хочет работать, не отвлекаясь на интерфейс, который, кстати, удобный и консистентный настолько, что его не замечаешь. Все остальное - от лукавого.

Про консистентность диалога запуска уже писал. О чём ещё напомнить? Про диалог сохранения файлов или прокручивающиеся меню? :)

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

>>в частности на его конструктор, замечаем "QPainter(QPaintDevice * device)". Смотрим описание QPaintDevice, замечаем "Inherited by QGLPixelBuffer, QImage, QPicture, QPixmap, QPrinter, and QWidget".

И фули? Два класса имеют общего родителя, что дальше? Не факт, что класс QPaintDevice предоставляет тебе интерфейс (пусть даже абстрактный) для рисования полигонов. В конце концов все gtk выросло из gobject, но api для gtk_tree_view и gtk_text_view имеют мало общего между собой.

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

>Только, IMHO, гномеры подобрее будут, чем кдеешники Эта ветка только подтверждает мое мнение, причем сильно подтверждает

Хе, это смотря с какой стороны смотреть =)

Вы видите в этом треде добрых гномеров и злых кдешников. Я --- добрых кдешников и злых гномеров.

Парадокс в том, что мы оба правы =)

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

>Windows XP, Office XP, MS Outlook, Meanwhile и прочая

Ну предположим, что kmail работает с Exchange.

Насчет Meanwhile ничего не знаю - не работал.

С project не работает вообще ни одно приложение (planer под gtk вроде только открывать файлы проекта умеет, но не способен никуда сохранить и это не гномий софт).

Поэтому очень интересуют остальные приложения. Слово "Windows XP" я выкидываю, ибо это просто среда для запуска.

И гномий софт с gtk-шным путать не нужно, как не стоит путать qt-шный с KDE-шным.

Кстати OpenOffice имеет обвязку и на gtk, и на qt.

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

>Opera, GoogleEarth, Skype?

Еще есть некий Adobe Album, что ли.

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

>Но тест на туеву кучу тысяч вершин как-то не тянет на desktop. Или я не прав?

На тысяч - нет. Но если вспомнить, сколько этого г в значках, а потом еще пустить какой-нить pdf (я так понял, что со временем все будет пускаться через один движок), то получим несколько тысяч легко.

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

> Ну предположим, что kmail работает с Exchange.

Жаль, проверить не могу. А что, реально работает?

> Насчет Meanwhile ничего не знаю - не работал.

По крайней мере, Kopete его поддерживает. Давеча переводил строки - заметил.

> С project не работает вообще ни одно приложение (planer под gtk вроде только открывать файлы проекта умеет, но не способен никуда сохранить и это не гномий софт).

То есть MSProject и Visio не поддерживаются, о чём и было сказано. Вот как раз про остальное я и хочу услышать... :)

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

> Только, IMHO, гномеры подобрее будут, чем кдеешники

> Эта ветка только подтверждает мое мнение, причем сильно подтверждает

Так гномеры - ребята, которые Линукс используют (на работе, дома и т.п.). Люди интеллигентные и вежливые :) А кдеешнеги - пионеры, у которых основной десктоп - винда, а линуксом они перед одноклассниками/одноклассницами понтуются, типа, "позырьте, как у меня все круто, ярко и переливается. То-то же! Это потому, что я - хакир!". А теперь они вообще в экстазе бьются, нашли подтверждение "тестами".

Нет, есть конечно же достойные личности, сидящии в КДЕ, но основная масса - увы! - школьники :)

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

>>то получим несколько тысяч легко.
Не газуй...
Бенчмарк иллюстрирует простую мысль, что тесселятор от Qt имеют линейную сложность (~N), а тесселятор от cairo ~Nln(N). Поэтому простой расчет показывает, что заливка 100 многугольников со 100 вершинами совсем не тоже самое, что заливка одного многоугольника с 10000(=100х100) вершинами. Что само собой не отменяет факта, что алгоритмы в cairo еще вылизывать и вылизывать.

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

> Ты что, geek'a не видел? :-)

Гик был добрый. Даже не призывал к ритуальным убийствам, просто предлагал сдохнуть самим. :)

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

>И фули? Два класса имеют общего родителя, что дальше? Не факт, что класс QPaintDevice предоставляет тебе интерфейс (пусть даже абстрактный) для рисования полигонов. В конце концов все gtk выросло из gobject, но api для gtk_tree_view и gtk_text_view имеют мало общего между собой.

Подумай головой, а? За отрисовку отвечает класс QPainter, и всё рисование (полигонов, прямоуголников, эллипсов, сплайнов и т.д.) реализовано внутри него. Однако QPainter может быть создан как на базе QWidget, так и на базе QPrinter. Но на функциональности объекта класса QPainter это _НИКАК_ не скажется, он по-прежнему будет рисовать себе полигоны и в ус не дуть.

Объяснить _ЕЩЕ_ доступнее?

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

>Вы видите в этом треде добрых гномеров и злых кдешников. Я --- добрых кдешников и злых гномеров.
Каждый гнусный шпион имеет полное право называться героическим разведчиком :-)

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

>Так гномеры - ребята, которые Линукс используют (на работе, дома и т.п.). Люди интеллигентные и вежливые :) А кдеешнеги - пионеры, у которых основной десктоп - винда, а линуксом они перед одноклассниками/одноклассницами понтуются, типа, "позырьте, как у меня все круто, ярко и переливается. То-то же! Это потому, что я - хакир!". А теперь они вообще в экстазе бьются, нашли подтверждение "тестами".

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

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

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

Фетиш - он у КДЕшников. Они все меряются пиписьками, меряются, все что-то миру доказывает. А мир трудится на Линуксе с Гномом и смеется над вашими потугами :)

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

Мир смеется над тупыми гномерами, которые вместо того, чтобы "трудится на Линуксе с Гномом" флеймят и пукают в лужи на ЛОРе, крича при этом "Гном это энтерпрайз! энтерпрайз! энтерпрайз!"

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

>А мир трудится на Линуксе с Гномом и смеется над вашими потугами :)
Оппа. А Линус то и не в курсе. Пионер, типа, в KDE работает и другим советует. Почитай год уже :-)
http://mail.gnome.org/archives/usability/2005-December/msg00021.html

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

> Мир смеется над тупыми гномерами, которые вместо того, чтобы "трудится на Линуксе с Гномом" флеймят и пукают в лужи на ЛОРе, крича при этом "Гном это энтерпрайз! энтерпрайз! энтерпрайз!"

Хе-хе, а Гном-то - энтерпрайз. Спросим дружно, где осталось КДЕ как десктоп по-умолчанию? А еще Гика гиком обзываете! :)

Ну ничего, дома предаваться вашему греху можно, все равно виндой пользуетесь :)

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

> И средств гнома - вернее гтк-приложений (учитывая что гном понятие нынче расплывчатое - его код много где еспользуется несотря на то что гномьими формально эти приложения не являются) - для этой работы практически достаточны. Не хватает в основном аналогов двух приложений - Visio и MS Project.

OpenOffice -- это не gnome-приложение,

нет достаточного аналога gimp'а, то, что в kde -- просто другое, и нет полноценного аналога StarDict'a, для всего остального -- есть

> Что же до опен-сорсных pdf смотрелок - то они есть, но рисуют погано. Глаза болят от невыключаемого антиалиасинга самого поганого пошиба.

Именно по этой(!!!) причине я использую kpdf, а не acrobat

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

>крича при этом "Гном это энтерпрайз! энтерпрайз! энтерпрайз!"
дэвэлопэрс, дэвэлопэрс, дэвэлопэрс. То есть, хиг, хиг, хиг ... гыконф :-)

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

> Оппа. А Линус то и не в курсе. Пионер, типа, в KDE работает и другим советует. Почитай год уже :-)

Да это он массе быдла, приползшего с Винды, говорит. Чтобы не требовали Qt в kernel запихивать.

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

> Именно по этой(!!!) причине я использую kpdf, а не acrobat

эта, а ваш kpdf умеет защищенные от печати pdf печатать? Или так, что троллтехи наваяли, тем и пользуется?

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

>Да это он массе быдла, приползшего с Винды, говорит. Чтобы не требовали Qt в kernel запихивать.
А зачем ссылочку то убрали? В интересных, однако местах эта масса проживает:
http://mail.gnome.org/archives/usability/
:-)
P.S. Не наезда ради, токма истины для ... :-)

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

Ну всё, попёр детсад.... причем с обеих сторон.... =\

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

>Хе-хе, а Гном-то - энтерпрайз. Спросим дружно, где осталось КДЕ как десктоп по-умолчанию? А еще Гика гиком обзываете! :)

Спросим дружно, где остался Линукс как десктопная ОСь по-умолчанию? Аналогия ясна? В нормальных дистрах всегда есть выбор, какую ДЕ/ВМ ставить, а от того, где оно там стоит "по-умолчанию" мне как-то ни холодно, ни жарко. Следование мейнстриму далеко не всегда есть единственно правильный путь. Да и кстати выбор гнома обсуждался на ЛОРе не раз. И одна из них это только одна лицензия - GPL.

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

> File: k3b-0.12.17-i486-1.tgz 5154 KB

Не надо грязи!

$ rpm -qi k3b|grep Size Size : 25822041 License: GPL

эта кдешная быдлоподелка занимает даже не 22, а почти 26 мегабайт! Даром что на плюсах написана и с QT да kdelibs слинкована, блин...

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

> эта, а ваш kpdf умеет защищенные от печати pdf печатать? Или так, что троллтехи наваяли, тем и пользуется?

Он это умеет, даже если печатать запрещено. Надо только пересобрать с соответствующей правкой.

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

> остался Линукс как десктопная ОСь по-умолчанию?

Не ясна. Линукс не был средой для десктопов, он начинал с серверов. А Кы-Ды-Йе успешно свое десктопное место под солнцем просрало :)

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

>Это в каком же таком дистре?
Vista Enterprise? :-)

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

> Он это умеет, даже если печатать запрещено. Надо только пересобрать с соответствующей правкой.

О, исходнички править... :) А как же оснровная масса быдлодомохозяек? Переживут?

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