![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Мерцание в канвасе
Raesta © (2006-08-26 11:01:00)Когда чего-нибудь быстро обновляемое рисуется на канвасе, то оно шибко мерцает...
MegaVolt (2006-09-05 16:20:00) [1]> И почему они тормозят?
Потому что:
1. прога делает лишнюю работу.
2. Обновление происходит целиком. Т.е. если бы без буфера двигать элемент то перерисовывалась бы только часть затронутая этими элементами и всё. А так каждый раз весь элемент будет перерисовываться.
Короче в свойствах элемента ставь ControlStyle:=ControlStyle+[csOpaque]; чем ты объясняешь винде что рисовать ты будешь сам. Часть морганий ищезнет. Для особо непонятливых компонентов так же применять [5]
Barloggg (2006-09-01 13:10:00) [2]а если просто двигать компонент по форме последовательным заданием Left и Top то надо пользоваться функцией SetBoundsRect или что-то в этом роде... тогда будет одна команда на отрисовку а не две последовательных.
Eraser (2006-08-31 19:24:00) [3]> [0] Raesta © (26.08.06 11:01)
в зависимости от реализации прорисовки и компонентов, которые находятся на форме, иногда спасет перекрытие WM_ERASEBKGND.
Мефисто (2006-08-31 19:07:00) [4]
> MegaVolt © (31.08.06 12:11) [3]
И почему они тормозят?
MegaVolt (2006-08-31 12:11:00) [5]А потом удивляемся почему тормозят проги...
Raesta (2006-08-26 12:00:00) [6]Спасибо! Буду пробовать
Marser (2006-08-26 11:49:00) [7]DoubleBuffered:=true