Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.25;
Скачать: CL | DM;

Вниз

Быстрый вывод на экран   Найти похожие ветки 

 
Vcoder   (2004-11-07 22:08) [0]

Пишу свой компонент - наследник TGraphicControl, представляющий собой шкалу компаса с делениями, обозначением градусов и т.п. Поступаю следующим образом: в методе Paint строю картинку на Canvas-е методами MoveTo, LineTo, TextOut и др.
Но вот проблема: на медленных машинах (класса П1) прорисовка идет довольно-таки медленно - на глаз видно, как постепенно формируется изображение. Хотелось бы, чтобы прорисовка выполнялась не сразу на экране, а в начале в памяти, а затем уже готовое изображение переносилось бы на экран.

Пробовал создавать Bitmap, рисовать на нем, а затем делать
Canvas.Draw(0,0,Bitmap)
но при этом наблюдается сильное мерцание даже на П4-1700.

Пожалуйста, подскажите, как можно выйти из положения.
Заране благодарен.


 
AZ ©   (2004-11-09 04:40) [1]

А Doublebuffered:= True не помогает?


 
Vcoder ©   (2004-11-09 18:01) [2]

Спасибо, AZ!.
Я чувствовал, что мне не хватает какой-то мелочи, и был прав.
Когда я установил у формы, на которой находится мой компонент, Doublebuffered:=True, все стало как надо - никакого мелькания. И не надо заморачиваться с буферизацией каждого компонента - форма умеет сама себя буферизовать.


 
jack128 ©   (2004-11-09 20:11) [3]

вообще говоря - двойная буфферизация увеличивает время отрисовки ;)


 
Vcoder ©   (2004-11-09 21:21) [4]

Не спорю. Но в моем случае отсутствие мелькания (изображение обновляется раз в секунду) важнее выигрыша в скорости и экономии памяти.



Страницы: 1 вся ветка

Текущий архив: 2005.09.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.053 c
6-1117460178
Flame
2005-05-30 17:36
2005.09.25
что за привычка закрывать темы?


8-1115977682
Артём
2005-05-13 13:48
2005.09.25
BASSPlayer


14-1125902965
Андрей Жук
2005-09-05 10:49
2005.09.25
У меня украли номер ICQ


8-1115793414
Deka
2005-05-11 10:36
2005.09.25
Нет ли у кого описания для формата RAW фотоаппаратов Olympus?


2-1124270369
ArtemESC
2005-08-17 13:19
2005.09.25
API