Re[8]: GDI+ быстрый вывод
От: Pavel Dvorkin Россия  
Дата: 14.12.10 08:10
Оценка:
Здравствуйте, samius, Вы писали:

S>Здравствуйте, Pavel Dvorkin, Вы писали:


S>>>Меня — нет. Если я заказал рисовать красную линию, то она должна быть красная, а не контекстно серо-буро-малиновая в крапинку. Такое поведение сегодня — норма. MS Офис так рисует, OpenOffice так рисует, и даже Paint так рисует. Я последний раз видел R2_NOT в действии больше чем 10 лет назад.


PD>>Paint.net так не рисует.

S>А попробуй нарисовать в нем линию, или прямоугольник

Не понял. Я же только о контуре говорил.

PD>>Да и нельзя так. Что за выделение у тебя получится, если красным по красному ?

S>Да, тут соглашусь. Выделять лучше через R2. Но сомневаюсь, что это делается в мышинном событии, когда двойной буфер все-равно используется.

Что-то у меня не получается посмотреть Spy++ окно paint.net. А другого ничего нет. Попробуй.


S>Чем так страшен WM_PAINT, если есть двойной буфер?


На каждый мышкин чих перерисовывать прямоугольник ?

PD>>По идее UpdateWindow заставит немедленно перерисовать именно эту линию и снять флаг инвалидности.


S>А ради чего собственно выжимать такты на ровном месте? Тебя не устраивает скорость BitBlt?


На каждое мышкино передвижение ?

S>Более того, я даже не уверен, что посылка нескольких InvalidateRect-ов и UpdateWindow будет быстрее BitBlt.


Так InvalidateRect + UpdateWindow и приведут к BitBlt, только на 4 линии. Остально-то зачем перерисовывать ?
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.