GDI+ двойная буферизация
От: pavel_p  
Дата: 15.02.05 09:37
Оценка:
Привет! У меня видеокамера работает в непрерывном режиме, и передает массив точек, я создаю битмап и вывожу его на экран, мне нужно увеличить скорость отображения я прочитал что можно использовать двойную буферизацию, не въезжаю как это сделать вот код, может кто подскажет..

void CCAM_VIEWView::OnDraw(CDC* /*pDC*/)
{
CClientDC cdc(this);
HDC hdc=cdc.GetSafeHdc();
Graphics graphics(hdc);
Bitmap bm=GetBitmap();// моя функция
graphics.DrawImage(bm,-ScrollPos.x,ScrollPos.y,hor,ver);
}

Спасибо!
Re: GDI+ двойная буферизация
От: Pavel Dvorkin Россия  
Дата: 15.02.05 13:32
Оценка:
Здравствуйте, pavel_p, Вы писали:


_>void CCAM_VIEWView::OnDraw(CDC* /*pDC*/)

_>{
_> CClientDC cdc(this);
_> HDC hdc=cdc.GetSafeHdc();
_> Graphics graphics(hdc);
_> Bitmap bm=GetBitmap();// моя функция
_> graphics.DrawImage(bm,-ScrollPos.x,ScrollPos.y,hor,ver);
_>}

Непосредственно с GDI+ я это делать не пробовал...Надо иметь постоянную Bitmap, держать на ней картинку, изменять ее по мере надобности и твоя GetBitmap должна на нее ссылку возвращать.

Bitmap& bm=GetBitmap();

А сейчас ты копируешь ее, так как

Bitmap bm=GetBitmap();// моя функция

есть конструктор копирования.

With best regards
Pavel Dvorkin
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.