Как увеличить скорость отрисовки на canvas?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Как увеличить скорость отрисовки на canvas?

Сообщение zub » 04.03.2014 21:51:57

>>А в качестве проверки, в процедуре отрисовки для каждого объекта использую функцию RectInArea:
:shock:
Простые операции на CPU с ректами в качестве проверки "видимости" будут быстрее. Также отсеивать лучше пачками.

Вот еще вариант "рисовалки" на "канвасе" - http://sourceforge.net/projects/zcad/fi ... p/download но он векторный и опенглный
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: Как увеличить скорость отрисовки на canvas?

Сообщение CriDos » 04.03.2014 22:13:18

zub писал(а):Простые операции на CPU с ректами в качестве проверки "видимости" будут быстрее. Также отсеивать лучше пачками.

Можно подробнее? :)
CriDos
новенький
 
Сообщения: 11
Зарегистрирован: 07.05.2013 11:06:10

Re: Как увеличить скорость отрисовки на canvas?

Сообщение zub » 04.03.2014 22:25:33

Операции с ректами можно делать без создания gdi объектов, если не устроили стандартные реализации - сделав свои.
Насколько я понял примитивы хранятся в линейном списке, сложив их в какое либо пространственно разбитое дерево можно будет отбраковывать ветви, а не каждый примитив в отдельности
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: Как увеличить скорость отрисовки на canvas?

Сообщение CriDos » 04.03.2014 22:36:48

zub, теперь понял, спасибо за совет :)
CriDos
новенький
 
Сообщения: 11
Зарегистрирован: 07.05.2013 11:06:10

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 209

Рейтинг@Mail.ru