Вверх ↑
Ответов: 4622
Рейтинг: 746
#1: 2016-12-14 16:30:37 ЛС | профиль | цитата
Это относительно мало. А в общем случае, это скорее всего неправильный алгоритм программы. Например, по событию рисования нам нужно нарисовать элемент в окне. Для этого мы создаём Pen, Brush, Font, Region на требуемом HDC (Canvas) выполняем рисование и удаляем эти объекты, как ненужные. Затем начинает отрисовку следующий элемент, который выполняет те же действия - вот и получается не так уж и много объектов. Даже если нам нужно в процессе отрисовки нарисовать 10 линий разным цветом - мы создаём 1 Pen, рисуем им, уничтожаем, создаём 2-ой Pen и т.д. Количество объектов может возрастать, например, если наши элементы создают объекты GDI и сохраняют их на протяжении всей своей жизни (в целях оптимизации или ещё чего) или если где-то забыли прописать уничтожение ненужного объекта. Но это можно оптимизировать. Например, компонент может уничтожать свои объекты GDI как только он уходит из зоны видимости (за видимые границы схемы, выход из контейнера и т.п.) и его отрисовка уже не требуется. И то, это требуется только если каждый компонент рисует себя сам. А если отрисовкой всех компонентов занимается одна и та же процедура, то этой проблемы вообще быть не должно.
карма: 26

0
Редактировалось 1 раз(а), последний 2016-12-14 16:35:08