Usando um contexto de dispositivo não cortada
Se você estiver absolutamente certo de que o controle não pintar fora seu retângulo cliente pode perceber um ganho de velocidade pequeno mas detectáveis, desativando a chamada para IntersectClipRect feita por COleControl.Para fazer isso, remova o clipPaintDC sinalizador do conjunto de sinalizadores retornado por COleControl::GetControlFlags.Por exemplo:
DWORD CMyAxOptCtrl::GetControlFlags()
{
DWORD dwFlags = COleControl::GetControlFlags();
...
dwFlags &= ~clipPaintDC;
...
return dwFlags;
}
O código para remover esse sinalizador é gerado automaticamente se você selecionar o Contexto de dispositivo não cortada opção no Configurações de controle de página, quando criar o controle com o Assistente de controle de ActiveX do MFC.
Se você estiver usando ativação sem janelas, essa otimização não tem efeito.