Re[2]: GDI+ - супер тормоз?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 28.10.22 06:29
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

M>>Кто виноват и что делать?


PD>Для начала отрисовать их без GDI+, просто через RoundRect. Может, дело не в GDI+


На самом деле, у меня там не RoundRect'ы, а пути, которые я потом заполняю. Потому, что у меня фигуры могут быть не обязательно прямоугольники, а произвольные их слияния (буквой Г, например).
Интерфейс у меня написан для GDI и для GDI+, но простой GDI дуги закруглений неряшливо присует. Вот так выглядят тайминги отрисовки:

  С закруглениями
GDI+
DoPaint: 141ms
DoPaint: 172ms
DoPaint: 125ms
DoPaint: 125ms
DoPaint: 140ms
DoPaint: 125ms
DoPaint: 94ms
DoPaint: 125ms
DoPaint: 125ms
DoPaint: 125ms
DoPaint: 141ms
DoPaint: 125ms
DoPaint: 157ms
DoPaint: 140ms
DoPaint: 156ms
DoPaint: 93ms
DoPaint: 125ms
DoPaint: 141ms
DoPaint: 109ms

GDI
DoPaint: 16ms
DoPaint: 15ms
DoPaint: 16ms
DoPaint: 16ms
DoPaint: 16ms
DoPaint: 16ms
DoPaint: 16ms
DoPaint: 0ms
DoPaint: 0ms
DoPaint: 16ms
DoPaint: 15ms
DoPaint: 0ms
DoPaint: 16ms
DoPaint: 0ms
DoPaint: 16ms
DoPaint: 0ms



ЗЫ Хотел еще без закруглений тайминги померять, померял — для GDI — картина точно такая же — что есть дуги, что их нет, а GDI+ — так просто не проверить уже, потому что версия без закруглений всегда через GDI рисуется, надо уже в глубине ковыряться


ЗЫЫ SetSmoothingMode в GDI+ с различными режимами что-то никак не влияет ни на скорость, ни на качество отрисовки
Маньяк Робокряк колесит по городу
Отредактировано 28.10.2022 6:56 Marty . Предыдущая версия . Еще …
Отредактировано 28.10.2022 6:43 Marty . Предыдущая версия .
Отредактировано 28.10.2022 6:38 Marty . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.