У меня есть приложение, которое делает лот рисунка, давайте притворимся, что это приложение, подобное Viso. Он имеет объекты, которые имеют несколько суб-объекты, которые нарисованы, вещи могут быть связаны, изменять размер и т.д. В настоящее время, когда я звоню краску на определенном подъобекта или объекта, я делаю следующее:Должен ли я создавать новые Pens/Brushes для запроса краски или хранить их на протяжении всего жизненного цикла приложения?
using(var pen = new Pen(this.ForeColor))
{
// Paint for this object.
}
Я прочитайте противоречивые ответы, что это должно быть сделано для приложения, которое постоянно рисует одно и то же (может быть, просто изменено, перемещено и т. д.). Должен ли я хранить Pen/Brush
с объектом, а затем удалять их все, когда приложение будет удалено, или они достаточно эффективны для создания/размещения для каждого вызова (помня, что это приложение с интенсивной графикой).
EDIT: Есть уже два ответа, которые имеют противоречивые ответы, и именно здесь я не уверен, чтобы сделать переключатель. У кого-нибудь есть статистика по поводу различий?
Да, все ручки/кисти имеют разные цвета, чем предопределенные цвета. – TheCloudlessSky
ОК, справедливо. См. Редактирование на мой пост. – Andy
Я только что провел некоторое тестирование, прежде чем проверять ваш пост, и вы правы, это безумно быстро создать/распорядиться. В этом случае оптимизация не нужна. Благодаря! – TheCloudlessSky