다음을 통해 공유


MFC ActiveX 컨트롤: 최적화

이 문서에서는 성능 향상을 위해 ActiveX 컨트롤을 최적화하는 데 사용할 수 있는 기술을 설명합니다.

Important

ActiveX는 새로운 개발에 사용하지 않아야 하는 레거시 기술입니다. ActiveX를 대체하는 최신 기술에 관한 자세한 내용은 ActiveX 컨트롤을 참조하세요.

표시되는 경우 활성화 옵션을 해제하고 비활성 상태에서 마우스 상호 작용을 제공하는 항목에서는 활성화될 때까지 창을 만들지 않는 컨트롤에 대해 설명합니다. 창 없는 활성화 제공 항목에서는 창이 활성화된 경우에도 창을 만들지 않는 컨트롤에 대해 설명합니다.

Windows에는 OLE 개체에 대한 두 가지 주요 단점이 있습니다. 즉, 개체가 활성 상태일 때 투명하거나 비사각형이 되는 것을 방지하고 컨트롤의 인스턴스화 및 표시에 큰 오버헤드를 추가합니다. 일반적으로 창을 만들려면 컨트롤 생성 시간의 60%가 걸립니다. 단일 공유 창(일반적으로 컨테이너)과 일부 디스패치 코드를 사용하여 컨트롤은 일반적으로 성능 저하 없이 동일한 창 서비스를 받습니다. 창이 있으면 개체에 대한 오버헤드가 거의 필요하지 않습니다.

일부 최적화는 컨트롤이 특정 컨테이너에서 사용될 때 반드시 성능을 향상시키지는 않습니다. 예를 들어 1996년 이전에 릴리스된 컨테이너는 창 없는 활성화를 지원하지 않았으므로 이 기능을 구현해도 이전 컨테이너에는 이점이 없습니다. 그러나 거의 모든 컨테이너가 지속성을 지원하므로 컨트롤의 지속성 코드를 최적화하면 모든 컨테이너에서 성능이 향상될 수 있습니다. 컨트롤이 특정 유형의 컨테이너와 함께 사용하도록 특별히 의도된 경우 해당 컨테이너에서 지원되는 이러한 최적화 중 어느 것이 지원되는지 조사하는 것이 좋습니다. 그러나 일반적으로 컨트롤이 다양한 컨테이너에서 수행할 수 있을 뿐만 아니라 컨트롤이 수행되도록 특정 컨트롤에 적용할 수 있는 만큼의 기술을 구현해야 합니다.

컨트롤 설정 페이지에서 MFC ActiveX 컨트롤 마법사를 통해 이러한 많은 최적화를 구현할 수 있습니다.

MFC ActiveX 컨트롤 마법사 OLE 최적화 옵션

MFC ActiveX 컨트롤 마법사의 컨트롤 설정 작업 자세한 정보
표시되는 검사 상자에서 활성화 Clear 표시되는 경우 활성화 옵션 끄기
창 없는 활성화 검사 상자 선택 창 없는 활성화 제공
매핑되지 않은 디바이스 컨텍스트 검사 상자 선택 잘리지 않는 디바이스 컨텍스트 사용
깜박임 없는 활성화 검사 상자 선택 깜빡임 없는 활성화 제공
비활성 검사 상자일 때 마우스 포인터 알림 선택 비활성 상태 중 마우스 상호 작용 제공
최적화된 그리기 코드 검사 상자 선택 컨트롤 그리기 최적화

이러한 최적화를 구현하는 멤버 함수에 대한 자세한 내용은 COleControl을 참조하세요.

자세한 내용은 다음을 참조하세요.

참고 항목

MFC ActiveX 컨트롤