방법: 양식과 컨트롤에 이중 버퍼링을 사용하여 그래픽 깜빡임 줄이기

이중 버퍼링은 메모리 버퍼를 사용하여 여러 그리기 작업과 관련된 깜박임 문제를 해결합니다. 이중 버퍼링을 사용하면 모든 그리기 작업이 그리기 화면 대신 메모리 버퍼에 먼저 렌더링됩니다. 모든 그리기 작업이 완료되면 메모리 버퍼가 연결된 그리기 화면에 직접 복사됩니다. 화면에서 하나의 그래픽 작업만 수행되므로 복잡한 그리기 작업과 관련된 이미지 깜박임이 제거됩니다. 대부분의 애플리케이션에서 .NET Framework에서 제공하는 기본 이중 버퍼링은 최상의 결과를 제공합니다. 표준 Windows Forms 컨트롤은 기본적으로 이중 버퍼링됩니다. 두 가지 방법으로 양식 및 작성 컨트롤에서 기본 이중 버퍼링을 사용하도록 설정할 수 있습니다. DoubleBuffered 속성을 true로 설정하거나 SetStyle 메서드를 호출하여 OptimizedDoubleBuffer 플래그를 true로 설정할 수 있습니다. 두 방법 모두 양식 또는 컨트롤에 대해 기본 이중 버퍼링을 사용하도록 설정하고 깜박임 없는 그래픽 렌더링을 제공합니다. SetStyle 메서드 호출은 모든 렌더링 코드를 작성한 사용자 지정 컨트롤에만 권장됩니다.

애니메이션 또는 고급 메모리 관리와 같은 고급 이중 버퍼링 시나리오의 경우 고유한 이중 버퍼링 논리를 구현할 수 있습니다. 자세한 내용은 방법: 버퍼링된 그래픽 수동 관리를 참조하세요.

깜박임을 줄이려면 다음을 수행합니다.

  • DoubleBuffered 속성을 true로 설정합니다.

    DoubleBuffered = true;
    
    DoubleBuffered = True
    
    

-또는-

  • SetStyle 메서드를 호출하여 OptimizedDoubleBuffer 플래그를 true로 설정합니다.

    SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
    
    SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
    
    

참고 항목