Painting and Drawing

Тема в разделе "WASM.WIN32", создана пользователем hapr, 27 май 2018.

Метки:
  1. hapr

    hapr Member

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

    Pavia Well-Known Member

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

    hapr Member

    Публикаций:
    0
    Регистрация:
    9 мар 2009
    Сообщения:
    42
    Почему бы залазили? Если контролировать явно координаты расположения строк такое ведь недолжно быть.