![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как убрать мерцание при перерисовке? [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