Вопрос производительности Wpf: непрозрачность на кистях против непрозрачности на элементах - PullRequest
8 голосов
/ 29 июня 2011

Я хочу знать, почему установка значения элемента Brush.Opacity вместо настройки свойства Opacity элемента лучше для производительности.

От MSDN: Изменение свойства Opacity элемента может привести к тому, что WPF создаст временную поверхность.

Но я не могу понять, что такое временная поверхность
Кто-нибудь может объяснить? Спасибо.

1 Ответ

10 голосов
/ 29 июня 2011

Если создается временная поверхность, это означает, что для элемента создается новое растровое изображение, на него выводится содержимое элемента, и , а затем , он накладывается на поверхность родительского элемента с использованием предоставленной непрозрачности.

В противном случае, если вы просто установите непрозрачность кисти, она может пропустить этот шаг и просто нарисовать непосредственно на поверхности родительского элемента.

Создание нового растрового изображения и его наложение более затратно, чемпросто рисуя напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...