![]() |
Модераторы: Snowy, Alexeis, MetalFan |
![]() ![]() ![]() |
|
Cheburek |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 26.3.2006 Репутация: нет Всего: 1 |
рисую я на TImage, с помощью TCanvas... по пикселям
но когда начинаю двигать объект - картинка начинает попросту лагать.. вот пример функции которая рисует линзу, и заодно ее описывает физически
с объектами которые попроще все нормально, но чем сложнее объект тем больше лагает((( Вроде почитал у вас использовать Bitmap быстрее.... А вот как вопрос не переписывая программу полностью, можно ускорить работу с графикой??? Как вот конкретно можно строчку pic.Canvas.Pixels[round(x),round(WinY/2+R*sin(fi))] := THColor; можно заменить ипользуя bitmap??? Это сообщение отредактировал(а) Cheburek - 1.5.2006, 19:41 |
||||
|
|||||
Kesh |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 1 Всего: 54 |
Cheburek, используй функцию scanline...
-------------------- ![]() |
|||
|
||||
Cheburek |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 26.3.2006 Репутация: нет Всего: 1 |
Kesh,
вот этим щас и занимался... хоть и меньше но всеравно лагает
кстати как перевести TColor -> RGB? Что вообще в этом коде занимает больше всего времени? |
|||
|
||||
darkart |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 9.11.2005 Репутация: нет Всего: 31 |
||||
|
||||
Cheburek |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 26.3.2006 Репутация: нет Всего: 1 |
||||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Cheburek, я думаю что речь идет о рисовании на вспомогательном Битмапе, потому что Canvas служит для отображения, а битмап для хранения изображения. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
darkart |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 9.11.2005 Репутация: нет Всего: 31 |
Ссори, конечно на битмапе
![]() |
|||
|
||||
Cheburek |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 26.3.2006 Репутация: нет Всего: 1 |
darkart, я вот что-то всеравно не понимаю..
что значит по мерцанию? И чем такой вариант хуже, и вообще чем он отличаеться от вашего?
а потом так..
Это сообщение отредактировал(а) Cheburek - 3.5.2006, 00:29 |
||||
|
|||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Cheburek, конечно же ни чем!
Очень медленно выполняются синус и косинус. желательно выполнить:
Для ускорения работы я как правило еще сохраняю адреса всех строк полученных при помощи scnline в отдельный масив, и использую этот массив вместо постоянного вызова донной функции. Это сообщение отредактировал(а) alexeis1 - 3.5.2006, 09:21 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
vovos |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 21.2.2006 Репутация: нет Всего: нет |
Еще вместо ScanLine можеш попробовать API функцию: SetBitmapBits - она перекидывает содержимое масива байт в битмап
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Звук, графика и видео" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |