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

Приложение наша компания продолжает работать в настоящее время, отображает много прямоугольных фигур с градиентами для рисования 'Мозаик'. Внутреннее обсуждение появилось, который поставил вопрос производительности. Эти мозаики составляют приблизительно 100 пикселей на 200 пикселей и являются или градиентом заштрихованный красный, желтый цвет, или зеленый. В любой момент времени могло быть 100 из этих мозаик на экране. Это было бы более производительно, чтобы мы создали изображение для каждого (красный, желтый, зеленый), и повторите его при необходимости, или для нас было бы лучше продолжить тянуть их использующий стандартные кисти WPF?

Править: Для разъяснения градиентной кистью, которую мы используем, является LinearGradientBrush.

6
задан Dave Clemmer 15 September 2011 в 18:49
поделиться

2 ответа

По опыту, рисование их с помощью кистей будет иметь гораздо лучшую производительность. Накладные расходы на загрузку изображений плиток и их рендеринг велики по сравнению с рендерингом заполненных прямоугольников.

1
ответ дан 17 December 2019 в 20:32
поделиться

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

Вам нужно будет добавить код к времени цикла рендеринга и записать результат в файл, а затем заставить 1000 (или даже 100 000) перерисовок, чтобы получить реалистичную цифру.

Мое чутье подсказывает, что LinearGradientBrush будет быстрее, чем загрузка изображения (даже из ресурсов) - но я готов доказать, что я ошибаюсь.

1
ответ дан 17 December 2019 в 20:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: