Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Графические библиотеки и их скорость (Sniff)
Author Message
Sniff
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Oct 05, 2005 2:10 pm (написано за 9 секунд)
   Post subject: Графические библиотеки и их скорость
Reply with quote

Пишу скрипт, в котором основные тормоза оказались на отрисовке линий в gd. Если кто пользовался imagemagic или еще какими-то аналогами, или просто знает - есть альтернативы GD в смысле скорости? Что-то умеет рисовать линии быстрее?
И, кстати, чтобы два раза не вставать - Imagemagic умеет рисовать линии с антиалиазингом? Ибо GD вроде как не умеет, а вручную реализовать, конечно, не очень сложно, но скорости это явно не добавит....
Back to top
Константин Жинько [tIT]
Сотрудник «Лаборатории»



Joined: 12 Jun 2004
Posts: 2264
Карма: 106
   поощрить/наказать

Location: Москва

PostPosted: Thu Oct 06, 2005 12:12 pm (спустя 22 часа 2 минуты; написано за 57 секунд)
   Post subject:
Reply with quote

QBasic очень быстро линии рисует ))
Прямо на экране )
Вообще GD по-моему самая быстрая, т.к. самая простая %
Что Вы с ней такое вытворяете, что она тормозит?
Back to top
View user's profile Send private message
Sniff
Guest





Карма: 388
   поощрить/наказать


PostPosted: Thu Oct 06, 2005 7:09 pm (спустя 6 часов 56 минут; написано за 47 секунд)
   Post subject:
Reply with quote

Рисую много-много маленьких линий.
вот так примерно ocr-research.org.ua/index.php?action=teabag
она не то, чтобы тормозит. Просто тормоза - понятие относительное. Надо, чтобы она это делала быстрее.
Back to top
Константин Жинько [tIT]
Сотрудник «Лаборатории»



Joined: 12 Jun 2004
Posts: 2264
Карма: 106
   поощрить/наказать

Location: Москва

PostPosted: Fri Oct 07, 2005 9:06 am (спустя 13 часов 57 минут; написано за 2 минуты 14 секунд)
   Post subject:
Reply with quote

Sniff
Во-первых, на том сайте готовые PNG-картинки, а не скрипт (посмотрите URL, если не верите).
Во-вторых, Вы сами подобную библиотеку разрабатываете или используете ту, что показали? Судя по картинкам, подобные скрипты на PHP в принципе будут выполняться долго (уж летать точно не будут)
Back to top
View user's profile Send private message
Sniff
Guest





Карма: 388
   поощрить/наказать


PostPosted: Fri Oct 07, 2005 10:25 am (спустя 1 час 18 минут; написано за 2 минуты 9 секунд)
   Post subject:
Reply with quote

Вы же хотели посмотреть, какие картинки? Ну вот, там лежит таки картинки :)
Вот здесь они генеряться налету kolupaev.com/tmp/index.php?code=test если это важно :)
Нет, я не использую подобную библиотеку, я именно ее и пишу.
Насчет летать - это численно, по-вашему, сколько?
Back to top
Константин Жинько [tIT]
Сотрудник «Лаборатории»



Joined: 12 Jun 2004
Posts: 2264
Карма: 106
   поощрить/наказать

Location: Москва

PostPosted: Fri Oct 07, 2005 3:22 pm (спустя 4 часа 56 минут; написано за 43 секунды)
   Post subject:
Reply with quote

Sniff
По-моему быстро.. Правда потом начнется... ууу... ваще чума будет %)
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sat Oct 08, 2005 12:44 am (спустя 9 часов 22 минуты; написано за 56 секунд)
   Post subject:
Reply with quote

Попробуйте вместо каждой линии рисовать всего лишь одну точку и замерьте скорость. Я думаю, будет отличаться от скорости прорисовки линий не сильно, а значит, оптимизируете Вы не то.
Back to top
View user's profile Send private message Send e-mail
Sniff
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon Oct 10, 2005 2:19 pm (спустя 2 дня 13 часов 35 минут; написано за 4 минуты 43 секунды)
   Post subject:
Reply with quote

У меня там два тяжелых места - пересчет и отрисовка. Я делаю засечки времени - и выяснил, что половину времени отнимает именно отрисовка. Оптимизация математики - другой вопрос, там мне в общем все понятно. А когда встает вопрос о том, что просто линии рисуются с некоторой предельной скоростью (что, разумеется, логично) мне, естественно, захотелось узнать, нет ли альтернатив этой библиотеки, которые могли бы рисовать, может быть, быстрее?
Кстати, а если переписать на С - будет ли отрисовка графики существенно быстрее? Или более вероятен тот вариант, что отрисовка в ГД следана достаточно хорошо, и приближена к физическому пределу (ну, в наших реалиях)?
В общем, можно ли считать, что время отрисовки - это физический предел оптимизации? Кроме математики нечего улучшать? Или есть смысл попробовать сменить язы, библиотеку графики, и так далее?
С точкой попробую, впрочем, я пракчитески уверен в результате.
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Oct 10, 2005 5:40 pm (спустя 3 часа 20 минут; написано за 14 секунд)
   Post subject:
Reply with quote

Вот когда попробуете, тогда и продолжим.
Back to top
View user's profile Send private message Send e-mail
Константин Жинько [tIT]
Сотрудник «Лаборатории»



Joined: 12 Jun 2004
Posts: 2264
Карма: 106
   поощрить/наказать

Location: Москва

PostPosted: Mon Oct 10, 2005 8:37 pm (спустя 2 часа 56 минут; написано за 1 минуту 16 секунд)
   Post subject:
Reply with quote

Между прочим, в старом добром QBasic'е отрисовка точками происходит куда быстрее, чем отрисовка линий (специально замерял на тормознутых тачках).
Back to top
View user's profile Send private message
Артeм Дивинcкий
Участник форума



Joined: 19 Jul 2005
Posts: 61
Карма: 6
   поощрить/наказать


PostPosted: Tue Oct 11, 2005 12:28 pm (спустя 15 часов 51 минуту; написано за 1 минуту 17 секунд)
   Post subject:
Reply with quote

Sniff wrote:
умеет рисовать линии с антиалиазингом? Ибо GD вроде как не умеет
Неправда (-:
Quote:
imageantialias

(PHP 4 >= 4.3.2)
imageantialias -- Should antialias functions be used or not
Description
bool imageantialias ( int im, bool on)
Но тормозов это Вам добавит...
Back to top
View user's profile Send private message Send e-mail
Sniff
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Oct 12, 2005 10:29 am (спустя 22 часа 51 секунду; написано за 1 минуту 16 секунд)
   Post subject:
Reply with quote

Да, действительно, уже обнаружил эту чудесную функцию, работает она, правда, по упрощенному алгоритму - но шустренько, что радует.
Крамольная мысть... Интересно, а не быстрей ли окажется рисовать линии точками? То есть не линией, а набором точек?
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Oct 12, 2005 10:58 pm (спустя 12 часов 29 минут; написано за 44 секунды)
   Post subject:
Reply with quote

Вы, наконец, скорость замерите при рисовании одной точки вместо линии, или и дальше будете гадать на кофейной гуще?
Ша топик закрою - за бессодержательность. :-)
Back to top
View user's profile Send private message Send e-mail
Sniff
Guest





Карма: 388
   поощрить/наказать


PostPosted: Thu Oct 13, 2005 12:58 pm (спустя 14 часов 4 секунды; написано за 57 секунд)
   Post subject:
Reply with quote

Виноват, тащпрапорщик :)
Просто еще руки не дошли. Точнее, ноги - до дома. Сегодня же замеярю и выложу!
Back to top
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML