Элементы управления ActiveX в MFC. Оптимизация
В этой статье описываются методы, которые можно использовать для оптимизации элементов ActiveX для повышения производительности.
Важно!
ActiveX — это устаревшая технология, которую не следует использовать для новых разработок. Дополнительные сведения о современных технологиях, которые заменяют ActiveX, см. в разделе Элементы ActiveX.
Разделы , посвященные отключению параметра "Активировать, когда видимый параметр " и "Предоставление взаимодействия с мышью" во время неактивного обсуждения элементов управления, которые не создают окно, пока не будут активированы. В разделе "Предоставление активации без окон" рассматриваются элементы управления, которые никогда не создают окно, даже если они активируются.
Windows имеет два основных недостатка для объектов OLE: они препятствуют прозрачным или неректентным объектам при активной активности, и они добавляют большие затраты на создание экземпляра и отображение элементов управления. Как правило, создание окна занимает 60 процентов времени создания элемента управления. При использовании одного общего окна (обычно контейнера) и некоторых кодов отправки элемент управления получает те же службы окон, как правило, без потери производительности. Наличие окна в основном ненужных накладных расходов для объекта.
Некоторые оптимизации не обязательно повышают производительность при использовании элемента управления в определенных контейнерах. Например, контейнеры, выпущенные до 1996 года, не поддерживают активацию без окон, поэтому реализация этой функции не обеспечит преимущество в старых контейнерах. Однако почти каждый контейнер поддерживает сохраняемость, поэтому оптимизация кода сохраняемости элемента управления, скорее всего, улучшит его производительность в любом контейнере. Если элемент управления предназначен специально для использования с одним типом контейнера, может потребоваться изучить, какие из этих оптимизаций поддерживаются этим контейнером. Однако в целом следует попытаться реализовать столько методов, сколько применимо к конкретному элементу управления, чтобы обеспечить выполнение вашего элемента управления, а также, возможно, в широком массиве контейнеров.
Вы можете реализовать многие из этих оптимизаций с помощью мастера управления ActiveX MFC на странице "Элемент управления Параметры".
Параметры оптимизации OLE мастера управления ActiveX MFC
Настройка элемента управления в мастере управления ActiveX MFC | Действие | Дополнительные сведения |
---|---|---|
Активация при отображении поля проверка | Clear | Отключение активации при видимом параметре |
Окно проверка активации без окон | Выбрать | Предоставление активации без окна |
Окно проверка контекста устройства | Выбрать | Использование необрезанного контекста устройства |
Поле проверка активации без мерцания | Выбрать | Обеспечение активации без мерцания |
Уведомления указателя мыши при неактивном проверка поле | Выбрать | Обеспечение взаимодействия с мышью в неактивном режиме |
Оптимизированный код рисования проверка поле | Выбрать | Оптимизация рисования элементов управления |
Подробные сведения о функциях-членах, реализующих эти оптимизации, см. в разделе COleControl.
Дополнительные сведения см. в разделе: