Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизTFastDIB 64bit Найти похожие ветки
← →
Андрей Парамонов (2012-10-19 09:50) [0]FastDIB - это набор модулей Delphi для работы с растровой графикой под Windows. Библиотека представляет класс TFastDIB (альтернатива TBitmap) и набор процедур для работы с ним: загрузка из файлов и памяти, отрисовка на экране, изменение размеров (ресэмплинг) и глубины цвета, графические эффекты, рисование графических примитивов:
http://sourceforge.net/projects/tfastdib/
Господа из солнечной Бразилии используют FastDIB в своей программе и желают компилировать код для 64-х битной архитектуры. Есть ли желающие портировать FastDIB для 64 бит? Работа оплачивается.
С уважением,
Андрей Парамонов (cmr.pent@gmail.com)
← →
QAZ5 (2012-10-19 12:27) [1]Удалено модератором
← →
brother © (2012-10-19 13:46) [2]после порта библиотека будет в общем доступе?
← →
QAZ5 (2012-10-19 15:54) [3]ага, за деньги :)
← →
Jeer © (2012-10-19 19:13) [4]Только ради шутки и для Гондураса - бесплатно. :)
← →
dmk © (2012-10-19 21:15) [5]Они хотят добиться успеха Адобе? Пускай сами парятся. Могу помочь, только в рамках Российской Федерации и для своих. Занимался этим породуктивно, но во время тормознул, когда проект "уплывать" стал в чужие руки.
← →
Jeer © (2012-10-19 21:54) [6]
> но во время тормознул
Нами продолжают пытаться пользоваться за гроши, так, что - правильное решение.
← →
dmk © (2012-10-19 21:58) [7]>Нами продолжают пытаться пользоваться за гроши
Согласен. К сожалению :(
← →
DVM © (2012-10-19 22:11) [8]там портировать то на полчаса делов
← →
DVM © (2012-10-19 22:15) [9]Там нет ассемблера, все портирование заключается в поиске мест Ptr(Integer( и подобных и замена на правильные варианты
← →
dmk © (2012-10-19 22:18) [10]>там портировать то на полчаса делов
Вот так работа и обесценивается :(
← →
DVM © (2012-10-19 22:20) [11]
> dmk © (19.10.12 22:18) [10]
хотя нет вру, в FastBlend есть asm и много, в остальных вроде нет.
можно делать быстро но дорого :)
← →
Jeer © (2012-10-19 22:21) [12]И хто мешает Feitosa (бойцу из К1) это сделать ?
Вперед.
← →
Pavia © (2012-10-19 22:27) [13]
> там портировать то на полчаса делов
1. Там ассемблера много. Процентов 5-10.
2. Надо проверить указатели.
3. Надо проверить битовые хаки.
Возни на день может больше.
← →
Pavia © (2012-10-19 22:28) [14]Ещё работу с jpeg переделовать.
← →
DVM © (2012-10-19 22:43) [15]
> Pavia © (19.10.12 22:28) [14]
> Ещё работу с jpeg переделовать.
IJL есть 64 битная, но уже небесплатная
← →
Sapersky (2012-10-20 01:23) [16]У меня есть частично портированная версия, всё кроме ассемблера и jpeg (на основе 389i). Протестировано... тоже частично, в одном проекте заработало. В таком виде могу отдать бесплатно.
Платно доработать - ну в принципе тоже можно, будет повод "причесать" библиотеку, чтобы самому потом пользоваться. Хотя некоторые вещи, вроде 15-битного блендинга из FastBlend, сейчас "чесать" уже мало смысла, проще сразу выкинуть.
Jpeg в 64 битах можно грузить через GDI+.
Ещё недавно видел какую-то libjpeg-turbo, последняя версия IrfanView её использует. Если верить "секундомеру" IrfanView (в Image Information пишет время загрузки) - грузит быстрее IJL1.5. Библиотека, конечно, сишная, к Дельфям пока не пробовал прикручивать. 64-битная версия на сайте упоминалась.
← →
Андрей Парамонов (2012-10-20 10:12) [17]
> У меня есть частично портированная версия, всё кроме ассемблера
> и jpeg (на основе 389i). Протестировано... тоже частично,
> в одном проекте заработало. В таком виде могу отдать бесплатно.
Я готов интегрировать эти патчи. Пришли мне на почту.
> Платно доработать - ну в принципе тоже можно, будет повод
> "причесать" библиотеку, чтобы самому потом пользоваться.
> Хотя некоторые вещи, вроде 15-битного блендинга из FastBlend,
> сейчас "чесать" уже мало смысла, проще сразу выкинуть.
Я думаю что {$IFDEF} поможет съэкономить усилия, т.к. сильно подозреваю, что каким-нибудь 15-битным блэндингом ну совсем никто не пользуется. А в 32-битном режиме -- пусть его будет.
Главное при причёсывании в точности сохранить интерфейс. Всё-таки FastDIB -- это типичное legacy, новые фичи проще добавлять в тот же Graphics32/AGG или как там оно сейчас называется.
> Jpeg в 64 битах можно грузить через GDI+.
> Ещё недавно видел какую-то libjpeg-turbo, последняя версия
> IrfanView её использует. Если верить "секундомеру" IrfanView
> (в Image Information пишет время загрузки) - грузит быстрее
> IJL1.5. Библиотека, конечно, сишная, к Дельфям пока не пробовал
> прикручивать. 64-битная версия на сайте упоминалась.
С этой IJL, помнится, всегда был геморрой. libjpeg-turbo -- она сводобная?
← →
Sapersky (2012-10-20 16:55) [18]Всё-таки FastDIB -- это типичное legacy, новые фичи проще добавлять в тот же Graphics32/AGG или как там оно сейчас называется.
А мужики-то и не знали...
Зачем тогда ты этим занимаешься?
Если тебе это не надо - дай почту бразильцев, буду с ними общаться.
libjpeg-turbo -- она сводобная?
Вроде да:
http://creativecommons.org/licenses/by/3.0/
Адаптация для Дельфи (только что нашёл, не проверял):
http://code.google.com/p/delphi-libjpeg-turbo/
← →
DVM © (2012-10-20 17:15) [19]
> Sapersky (20.10.12 16:55) [18]
> Адаптация для Дельфи (только что нашёл, не проверял):
> http://code.google.com/p/delphi-libjpeg-turbo/
надо посмотреть будет, а то я уж хотел перевести хидеры сам.
← →
Pavia © (2012-10-20 19:44) [20]
> а то я уж хотел перевести хидеры сам.
Всё хотел спросить а вы ручками их переводите или прогой какой?
← →
DVM © (2012-10-20 19:47) [21]
> http://code.google.com/p/delphi-libjpeg-turbo/
Не очень код у этой обертки. Неаккуратный. Какая то чудная попытка непонятно чего добиться - читает разные jpeg из разных потоков, ну понятно оно быстрее будет, но реализация автора такая как будто он потоки вчера увидел. Хидер есть и оригинальный (http://www.dev-center.de/header) и он содержит явные ошибки (PChar и Char вместо PAnsiChar и AnsiChar), как и в данной обертке. За каким то лешим автор данной обертки исправил оригинальный хидер напихал туда ссылок на ненужные модули (Vcl.Dialogs например) тем самым убил кроссплатформенность и поддержку Delphi < xe2.
← →
DVM © (2012-10-20 19:55) [22]
> Pavia © (20.10.12 19:44) [20]
Если немного то руками проще. Если много и ручками муторно, особенно всякие константы,структуры в большом количестве и т.д. Сначала программой потом просматриваю исправляю руками где не нравится.
В гугле поискать по словам c2pas, cpp2pas у меня их несколько разных, вот последний конвертер который недавно использовал
http://cc.embarcadero.com/item/26951
← →
MBo © (2012-10-20 21:38) [23]Про h2pas упоминание недавно видел (сам не пробовал)
← →
DVM © (2012-10-20 21:41) [24]
> libjpeg-turbo
в 10 раз примерно у меня получилось она быстрее чем стандартный модуль Jpeg на Core i3
← →
Андрей Парамонов (2012-10-21 23:21) [25]
> А мужики-то и не знали...
> Зачем тогда ты этим занимаешься?
Ты спрашиваешь вообще, зачем я занимаюсь программированием? ;-)
Надеюсь, что вопрос таки про FastDIB. В своё время я был огорчён тем, что в интернете нет официального сайта этой библиотеки. Чтобы решить эту проблему, я связался с автором и стал майнтейнером. Как я понимаю, задачей майнтейнера является как раз координация разработчиков с целью наиболее эффективного решения задач пользователя.
К бразильской компании я никакого отношения не имею.
> Если тебе это не надо - дай почту бразильцев, буду с ними
> общаться.
Отправь мне сообщение на почту, я тебе перешлю оригинальное письмо.
← →
Eraser © (2012-10-22 00:54) [26]
> Андрей Парамонов (21.10.12 23:21) [25]
я код библиотеки не смотрел, точнее смотрел лет 6 назад - уже не помню. подозреваю, что там много ассемблера и математики, соответственно фактически заново надо все переписывать. поэтому желающих не много.
← →
Германн © (2012-10-22 02:39) [27]
> Андрей Парамонов (21.10.12 23:21) [25]
>
>
> > А мужики-то и не знали...
> > Зачем тогда ты этим занимаешься?
>
> Ты спрашиваешь вообще, зачем я занимаюсь программированием?
> ;-)
> Надеюсь, что вопрос таки про FastDIB. В своё время я был
> огорчён тем, что в интернете нет официального сайта этой
> библиотеки. Чтобы решить эту проблему, я связался с автором
> и стал майнтейнером. Как я понимаю, задачей майнтейнера
> является как раз координация разработчиков с целью наиболее
> эффективного решения задач пользователя.
А ещё и "стрижкой шерсти" со всех участников проекта! При чём это самое главное! :)
← →
Sapersky (2012-10-22 21:17) [28]> libjpeg-turbo
в 10 раз примерно у меня получилось она быстрее чем стандартный модуль Jpeg на Core i3
У меня всё не так радужно - загрузка картинок где-то на уровне IJL или чуть медленнее, т.е. в 2.5 раза быстрее стандартного модуля.
Возможно, из-за того что 32 бита - на сайте было упоминание о том, что в 32 битах производительность хуже. До 64 ещё руки не дошли.
Irfanview, в принципе, тот же результат показывает - насчёт "быстрее" в прошлый раз я ошибся, там у IJL качественный режим стоял.
Или 10 раз - это с многопоточностью? Я даже не стал разбираться с delphi-libjpeg-turbo, раз уж там всё плохо, взял стандартный хидер с http://www.dev-center.de/header.
Ещё странная деталь: производительность стандартного модуля в старших версиях ухудшается. D5 - 34 мс, D2010 - 50 мс (IJL/libjpeg-turbo - 14 мс).
← →
DVM © (2012-10-22 23:26) [29]
> Или 10 раз - это с многопоточностью?
Не, это в одном потоке. Там не всегда 10 скачет иногда 7 иногда 8 раз, но не менее 7 раз быстрее. 32 бит и 64 бит одинаково. Сравнивал со стандартным модулем Jpeg. Сравнить с IJL руки не дошли. Картинка была 1600 на 1200 точек из комплекта delphi-libjpeg-turbo оттуда же взял и скомпилированные библиотеки.
> загрузка картинок где-то на уровне IJL или чуть медленнее,
> т.е. в 2.5 раза быстрее стандартного модуля.
dll то какие взял? а в стандартном хидере загрузка правильной dll производится?
← →
Sapersky (2012-10-23 00:52) [30]DLL правильная. Возможно, от картинки зависит, попробую потом те, что в комплекте.
← →
Sapersky (2012-10-23 17:50) [31]Нет, со всеми картинками одно и то же. И у IrfanView тот же результат.
Процессор не сильно старый, CoreDuo 2.7 Ггц.
Тест: http://sapersky.narod.ru/files/JpegLoadTest.rar
← →
DVM © (2012-10-23 23:56) [32]
> Sapersky (23.10.12 17:50) [31]
> И у IrfanView тот же результат.
У меня картина такая, что у моего кода что у InfranView загрузка картинки 1600 на 1200 точек - 30-40 мс с помощью libjpeg-turbo и около 300 стандартным модулем Jpeg. Delphi XE2, Core i3, Win 7-64
← →
DVM © (2012-10-24 00:21) [33]
> Тест: http://sapersky.narod.ru/files/JpegLoadTest.rar
Попробовал на весьма слабом нетбуке с процессором Intel 1.2 Ггц, картинка 2048 x 1536:
Standart - 403
Ole - 341
GDI+ - 123
IJL - 87
LibJpeg turbo - 83
← →
Sapersky (2012-10-25 00:02) [34]Похоже, дело в версии Дельфи - в XE2 я тоже получил 7-8 раз (стандартный модуль совсем испортился). Ну и в картинке - тестовая даёт бОльшую разницу, чем скриншот десктопа в моём примере.
А так в 32 битах на уровне IJL. Если брать качественный режим, то быстрее.
← →
DVM © (2012-10-25 00:20) [35]
> Sapersky (25.10.12 00:02) [34]
> А так в 32 битах на уровне IJL.
но зато бесплатная и 64 бит есть. Ее еще проверить надо на одновременное использование из нескольких потоков, у IJL 1.5 проблемы с этим были, какие то внутрениие глобальные переменные там по всей видимости были.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.066 c