Painting and Drawing

Discussion in 'WASM.WIN32' started by hapr, May 27, 2018.

Tags:
  1. hapr

    hapr Member

    Blog Posts:
    0
    Про рисования вроде бы разобрался, кроме одного но. Может кто имеет более продвинутые знания насчет регионов отсечения в контексте с регионам обновления?
    Вот уточнение про что я спрашиваю:
    Есть строка которая распологаеться в RECT 0,0,50,20 мы ее должны отрисовать.
    Приходит сообщение WM_PAINT. Используем BeginPaint получаем тем самым прямоугольник отсечения - RECT 0,0,20,20. Так как по пикселям смотреть какую часть строки нужно отрисовать бессмысленно, то мы отрисовываем всю например с помощью ExtTextOutW. Но так как есть в контексте устройства отсечение то все что вне RECT отсечения не измениться. Вот это что понятно однозначно мне. А не понятно на что влияет отсечение на быстродействие или только на то что бы не затереть лишнее? Другими словами будет отличаться по затратности работа выполняемая ExtTextOutW в случаи с отсечение и без него для моей строки?
     
  2. Pavia

    Pavia Well-Known Member

    Blog Posts:
    0
    Без отсечения у вас бы пиксели одной строки залазели на другую строку. Поэтому отсечение включено всегда.
    Отсечение это абстрактное понятие, читай обобщённое. В виндоусе все понятия абстрактные.
    Так вот согласно закону Барбары. Обобщения должны брать все характерисики. Так что справедливо и то и то в зависимости от реализации и установоенных сервисов.
    А из практике ускорения особо нет. Так что для ускорения надо делать собственные проверки.
     
  3. hapr

    hapr Member

    Blog Posts:
    0
    Почему бы залазили? Если контролировать явно координаты расположения строк такое ведь недолжно быть.