Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

оптимизация контекста

21K
19 сентября 2006 года
no_NaMe
1 / / 19.09.2006
Народ! Помогите мне пожалуйста:
Очень нужно оптимизировать код так, чтобы выносить рисование на форме в отдельную функцию (относительно WM_PAINT ) далее мой код. Но всё очень сильно тормозит... не подскажите что здесь лишнее, а чего может не хватает... вобщем, вот такие пироги:
Код:
...
               case WM_PAINT:
        hdc = BeginPaint(hWnd,&ps);
        EndPaint(hWnd,&ps);
        break;
               ...


void Paint(HWND hWnd, HWND hPaint, HWND hOctant)
{
                hdc = GetDC(hWnd);
        hCompatibleDC = CreateCompatibleDC(hdc);
        GetClientRect(hWnd,&CompatibleRect);
        hCompatibleBitmap = CreateCompatibleBitmap(hdc,CompatibleRect.right,
                                                    CompatibleRect.bottom-106);
        SelectObject(hCompatibleDC,hCompatibleBitmap);
        PatBlt(hCompatibleDC,0,0,CompatibleRect.right,
                CompatibleRect.bottom-106,PATCOPY);
        SelectObject(hCompatibleDC,hMyPen);
        SelectObject(hCompatibleDC,hMyBrush);

                //тут идёт код рисующий нечто на hCompatible...

                BitBlt(hdc,ps.rcPaint.left,ps.rcPaint.top,
            ps.rcPaint.right,ps.rcPaint.bottom-106,
            hCompatibleDC,ps.rcPaint.left,ps.rcPaint.top,SRCCOPY);
     
        DeleteObject(hMyPen);
        DeleteObject(hMyBrush);
        DeleteObject(hCompatibleBitmap);
        DeleteDC(hCompatibleDC);
        ReleaseDC(hWnd,hdc);

        InvalidateRect(hWnd,NULL,FALSE);  //нужна, хрен знает для чего,.. наверное осталась, когда я ещё пользовался перекидыванием из буфера на всю форму... её можно не учитывать.
}


Вот.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог