Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Мерцание в канвасе


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


Наверх

Титульная страница Поиск, карта сайта Написать письмо