2011-06-11 3 views
7

기본적으로 Windows 컨트롤에는 DoubleBuffer가 없습니다. 그것을 사용할 때 깜박임을 줄일 수 있습니다. Windows 컨트롤에서 기본적으로 사용하지 않는 이유는 무엇입니까?컨트롤에 DoubleBuffer를 사용할 때의 장점과 단점

컨트롤에 DoubleBuffer를 사용할 때 누구나 장점과 단점을 말할 수 있습니다.

감사합니다.

+0

이중 버퍼링은 더 많은 리소스를 사용하므로 항상 필요한 것은 아닙니다. –

+0

그림을 느리게 만듭니다. 너의 것 다음에 그려진 모든 컨트롤은 페인트 칠되지 않은 상태로 오래있을 것이다. 때까지 흰색 또는 검정색 사각형을 표시합니다. 그것은 깜박임으로 인식됩니다. –

답변

1

더블 버퍼링 기술에 대한 자세한 내용을보실 수 있습니다 사용하며, 대신 빠른 computer.In으로도이 기술을 그리는 데 소요되는 시간 화면에서 그림 그리기, 먼저 이미지에 그려진 다음 이미지가 창에 그려집니다.

WinForms는 UI 요소 (ComboBox, TextBox 등)가있는 양식을 먼저 만들기 때문에 Double Buffering이 기본적으로 사용되지 않습니다.

그래픽 개발을 위해 더블 버퍼링이 필요합니다.

희망이 도움이 더 많은 도면이 없을 때, 그래서 ... 더블 버퍼링은 더 많은 메모리를 사용하지만, 빠르게 작동하고, 그것을 사용할 필요가 없습니다!

0

이중 버퍼링이 빠른 집약적 인 애플리케이션 을 그리기하고 깜박임을 줄여 부드럽게 표시 을 사용하는 기술입니다. 기본적인 아이디어는 드로잉 작업을 수행하여 애플리케이션을 페인트하고 오프 스크린 캔버스에 적용하는 것입니다. 드로잉 작업이 모두 완료되면이 오프 스크린 캔버스가 표면에 ' '을 앞으로 밀어 넣거나 - 이미지를 컨트롤에 그립니다. 이 은 사용자에게 훨씬 더 빠른 응용 프로그램 인 의 모양을 제공합니다.

DoubleBuffer는 매우 메모리 집약적입니다. 시스템에 메모리가 부족하면 메모리 크런치 문제가 발생할 수 있습니다.

여기에 설명 된 이중 버퍼링 아이디어에 대한 마지막 고려 사항은이 둘 다 완벽하게 최적화되지 또는 단점없이 입니다. 이중 버퍼링은 의 Windows 플리커 링을 줄이는 좋은 방법이지만 양식 그림은 메모리 집중입니다. 본질적으로 두 번 유효 메모리를 사용하면 응용 프로그램의 화면 이미지와 화면이 아 닙니다. 폼의 표면에 오프 스크린 이미지를 밀어 Graphics.DrawImage를 사용 로서도, 동적 모든 페인트 이벤트 Bitmap 객체 생성 매우 비싸다. DoubleBuffer 컨트롤 스타일 은 일반적으로 이 이중 버퍼링을 수행하는 가장 효율적인 방법이므로 이러한 모든 최적화를 수행합니다. 우리가 만들고자하는 도면이 많은 세부 사항이있는 경우

당신이 here

관련 문제