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

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

Как убрать мерцание при перерисовке? [D5, Win95/98, WinXP]


Raduga ©   (2003-10-01 11:00:00) 

Привет, мастера!

У меня такая проблема.
Создал компонент - потомок TgraphicControl, рисует изометрическое изображение цилиндра. Необходимо динамически закрашивать его часть (допустим от положения скролбара)во время работы программы. Если на форме много таких компонентов, то при перезакраске заметно мерцание, как от него избавится?
Спасибо.


Думкин   (2003-10-02 13:52:00) [1]

> Raduga (02.10.03 13:22)

Это нарушение правил.


Raduga   (2003-10-02 13:22:00) [2]

>Анонимщик © (02.10.03 11:13)
Я не прыгаю, я сразу в два места написал :)


Анонимщик   (2003-10-02 11:13:00) [3]

Ну что ты прыгаешь?
Смотри там, где спрашивал:

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1064991772&n=0


Raduga   (2003-10-02 08:39:00) [4]

>Mbo
Неточно выразился. Копирую на владельца в Paint, перерисовываю без Refresh, а вызывая метод Paint.


MBo   (2003-10-02 08:21:00) [5]

>копирую в другой и потом на владельца. И вызываю Paint компонента.
Я не уловил твою логику. Копировать на владельца надо в Paint.


Raduga   (2003-10-02 08:12:00) [6]

Дубль буфер помогает, НО если выставляю дубль буфер в труе и на форме около 20 моих компонентов, то загрузка проца увеличивается до 50 и более процентов при перерисовке (проц гигагерцовый +384 мб озу ). Вот.
>MBo
> Я так и сделал. Только использую два битмапа (один в качестве буффера) и не использую Refresh и т.п. для перерировки компонента, а просто рисую в одном битмапе, копирую в другой и потом на владельца. И вызываю Paint компонента.


Думкин   (2003-10-02 05:50:00) [7]

Дубль буфер он примерно так и работает, как предложено выше.


Denius   (2003-10-01 17:20:00) [8]

Свойство у формы есть такое... Называется doublebuffered типа boolean. Поставь в true должно помочь чучуть... Имеется ввиду форма на которой набросаны твои компоненты...


MBo   (2003-10-01 13:42:00) [9]

Рисовать на битмапе размеров в клиентскую область контрола, по Paint Draw или Bitblt его на Canvas


Наверх

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