![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Химичу с альфа-прозрачностью. Встроенных механизмов работы с PNG в винде увы нет, приходится доставать альфа-канал из png и пихать в 32-битный BMP. Из-за Round и операций с вещественными числами работает не так быстро, как хотелось бы
Код:
пыщь
Последний раз редактировалось JTG; 29.05.2008 в 13:17. |
![]() |
![]() |
![]() |
#2 | ||
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
2JTG
1. делить на 256 Row[j].rgbBlue := Row[j].rgbBlue * Row[j].rgbReserved shr 8; 2. если возможно, перейти на pf24Bit - недавно оптимизировали - пост#509 http://programmersforum.ru/showthread.php?t=338&page=51 |
![]() |
![]() |
![]() |
#4 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
2B_N
Мне StretchDIBits кажись не нужно Там дальше идёт вот это Код:
Если имеется ввиду напрямую скопировать PNG в hSrcDC - не выйдет, в StretchDIBits содержимое передаётся через параметр lpBitsInfo:TBitmapInfo, в котором и находится тот же "An array of RGBQUAD". Вообщем нужно оптимизировать именно сам процесс заполнения массива 2alexBlack pf24Bit не подходит, т.к. пропадёт альфа-канал
пыщь
Последний раз редактировалось JTG; 29.05.2008 в 14:21. |
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]()
2 JTG
Ну а просто сопроцессором Вы не пробовали ещё? Быстрее, наверное, уже ничего не придумать (только видеоадаптер, почему я и упоминаю про виндышную поддержку PNG, как таковую, не обязательно именно StretchDIBits). Может быть ещё попробовать через MMX, как руки дойдут, поэкспериментирую.... |
![]() |
![]() |
![]() |
#6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
JTG смотри что я предложу:
Код:
a := Round(b * c / 255); Счет явно быстрее будет.
I'm learning to live...
|
![]() |
![]() |
![]() |
#7 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Упс) Вот это я перемудрил
![]() ![]() -- Вот, если кто пользуется AIMP - ждите в скором времени плагин. Пытаюсь переписать FLDance из FLStudio 8 ![]() ![]()
пыщь
Последний раз редактировалось JTG; 29.05.2008 в 15:04. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оптимизация кода | [Smarik] | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 9 | 20.08.2008 15:00 |
Оптимизация кода. | MAKTECYMA | Общие вопросы C/C++ | 2 | 05.06.2008 16:48 |
Оптимизация кода программы | insi | Фриланс | 2 | 17.05.2008 18:30 |
Нужна помощь в написании кода | Михаил Юрьевич | Общие вопросы Delphi | 2 | 27.12.2007 09:32 |