창 관리자 구성 중

Compositing window manager

컴포지팅 윈도 매니저 또는 컴포지터는 각 창에 오프스크린 버퍼를 응용 프로그램에 제공하는 윈도 매니저입니다.윈도 매니저는 윈도 버퍼를 화면을 나타내는 이미지로 합성하여 그 결과를 디스플레이 [1][2]메모리에 씁니다.

컴포지팅 윈도 매니저는 버퍼링된 윈도 상에서 추가 처리를 수행할 수 있습니다.예를 들어 블렌딩, 페이딩, 스케일링, 회전, 복제, 벤딩 및 왜곡, 셔플링, 흐림, 애플리케이션 리다이렉트, 을 여러 디스플레이가상 데스크톱으로 변환하는 2D3D 애니메이션 효과를 적용할 수 있습니다.컴퓨터 그래픽 테크놀로지에 의해, 드롭 쉐도우, 라이브 프리뷰, 복잡한 [3][4]애니메이션등의 시각 효과를 리얼타임에 렌더링 할 수 있습니다.화면이 이중 버퍼링되어 업데이트 중에 깜박거리지 않습니다.

가장 일반적으로 사용되는 구성 창 관리자는 다음과 같습니다.

스태킹 창 관리자와의 비교

윈도 매니저는 적절한 타이밍(크기가 변경되었을 때 또는 다른 창이 창 앞으로 지나갈 때 등)에 자신을 다시 그리는 메시지를 각 창에 보냅니다.스태킹 매니저를 사용하면 응답이 느리거나 버그가 있는 프로그램이 메시지에 [5][6]적시에 응답하지 않으면 재도장 프로세스가 손상될 수 있습니다.악성 프로그램은 단순히 창을 다시 도장하지 않음으로써 시스템이 불안정해 보일 수 있습니다.그 결과, 다음의 몇개의 상황이 발생할 수 있습니다.

  • 잘린 창은 덮이지 않은 영역을 다시 칠하지 않으므로 공백이 생기거나 다른 창으로부터 "흔들림"이 남습니다.
  • 창문 부분(장식적인 드롭 섀도우 등)은 뒤에 남겨져 적절히 칠해져 있지 않다.
  • 마우스 포인터가 손상되었습니다[7][unreliable source].
  • 화면 업데이트가 견딜 수 없을 정도로[8] 느려지다
  • 프로그램이 응답하거나 종료될[9] 때까지 화면 전체가 정지합니다.

컴포지팅 매니저를 사용하면 윈도우 매니저가 요청했을 때 윈도우의 재도장이 중지되면 윈도우의 마지막 재도장이 계속 표시되고 윈도우가 흐리게 표시될 수 있습니다.대부분의 경우 제목은 창의 상태를 반영하여 무응답으로 변경됩니다.프로그램이 창을 이동하거나 매핑을 해제하지 못할 수 있지만 일반적으로 재도장 문제는 발생하지 않습니다.

역사

컴포지팅 윈도우 시스템을 갖춘 최초의 시스템 중 하나는 1985년에 출시된 코모도어 아미가입니다.애플리케이션은 우선 현재 디스플레이 영역 이외의 메모리 영역을 비트맵으로 사용하도록 요구할 수 있습니다.그런 다음 Amiga 윈도우 시스템은 시스템의 하드웨어 블리터를 사용하여 일련의 비트 블릿을 사용하여 버튼 및 슬라이더와 함께 디스플레이 메모리에 이러한 애플리케이션의 비트맵을 합성합니다. 이러한 애플리케이션은 비트맵을 [10]다시 그릴 필요가 없습니다.

GNOME의 일부인 Metacity 창 관리자입니다.

2001년 3월 24일, Mac OS X v10.0Quartz 구성요소에서 제공하는 소프트웨어 기반 3D 구성 및 효과를 갖춘 최초의 주류 운영 체제가 되었습니다.Mac OS X v10.2Quartz Extreme의 출시로 컴포지트 작업이 전용 그래픽 [2][11]하드웨어로 옮겨갈 수 있게 되었습니다.

2003년 Sun Microsystems는 Swing 툴킷 위에 레이어드하는 Project Looking Glass라는 야심찬 3D 그래픽 시스템을 시연했습니다.그것은 2003년 Linux World Expo에서 처음 공개되었다.애플은 Sun을 지적재산권 침해로 고소하겠다고 위협했지만 다른 윈도 매니저들은 Looking Glass에 일부 기능을 구현했다.2006년에는 그래픽스 지향의 Unix 워크스테이션에서 엔터프라이즈 메인프레임 [12]판매로 이행하는 것이 주된 사업이었던 Sun에 의해 개발이 중단되었습니다.

마이크로소프트는 2003년 윈도 하드웨어 엔지니어링 컨퍼런스에서 프로젝트 Longhorn의 데스크톱 윈도 매니저를 처음 선보이며 흔들리는 [13]윈도우를 시연했습니다.Longhorn 개발의 심각한 지연으로 인해 마이크로소프트는 2007년 [14]1월 Windows Vista가 출시될 때까지 3D 구성 윈도우 매니저를 공개하지 못했다.

X Window System에서 컴포지팅을 구현하려면 몇 가지 재설계가 필요했고,[15] 이는 점진적으로 이루어졌습니다.Metacity 2.8.4는 2004년 [16]8월에 출시되었습니다.그러나 X용 컴포지팅 윈도 매니저는 2005년 [17]1월에 출시된 Xfwm이었다.2005년 1월 26일 컴피즈가 출시되어 Linux [18]플랫폼에 완전 가속 3D 컴포지팅을 도입했습니다.KDEKWin은 컴포지팅도 지원합니다.

운영 체제에서의 컴포지팅 및 3D 효과

컴포지팅을 할 때 3D 효과를 윈도우에 적용하여 3D 데스크톱 효과를 제공할 수 있습니다.현대의 컴포지팅 윈도우 매니저는 3D 하드웨어 액셀러레이션을 사용합니다.컴포지트 윈도 매니저 소프트웨어는 OpenGL 또는 Direct3D 등의 프로그래밍 인터페이스를 통해 그래픽 하드웨어와 통신합니다.

이 기술을 사용한 최초의 광범위한 구현은 Mac OS X 10.2와 Linux용 Luminocity 프로토타입으로 출시되었습니다.현재 OpenGL을 사용하는 창 관리자에는 Compiz, KWin 및 Quartz Compositor가 포함되며 데스크톱 창 관리자에는 DirectX 9가 사용됩니다.OpenGL은 아직 하드웨어에서 완전히 지원되지 않기 때문에 하드웨어가[citation needed] 개선됨에 따라 OpenGL 기반 컴포지팅의 퍼포먼스는 계속 향상될 것입니다.

리눅스

X 서버에서 실행 중인 스태킹 창 매니저에는 채도또는 녹색 스크리닝 확장이 필요했습니다.컴포지팅은 Composite 확장자를 통해 도입되었습니다.컴포지팅 관리자는 가능한 경우 이 확장을 통해 하드웨어 액셀러레이션을 사용합니다.

Ubuntu 8.04 Hardy Heron은 Compiz의 Shift Switchher를 플립 모드로 실행합니다.

Linux 및 UNIX에서는 완전한 3D 가속 컴포지팅을 수행할 수 있도록 하드웨어 액셀러레이션을 사용하려면 X11을 근본적으로 변경해야 했습니다.원래 XGL을 포함하여 OpenGL을 중심으로 설계된 수많은 수정 X11 구현이 등장하기 시작했습니다.AIGLX를 도입하면 Xgl을 사용할 필요가 없어지고 윈도 매니저는 직접 렌더링을 허용하면서 표준 X 서버에서 3D 가속 컴포지팅을 수행할 수 있게 됩니다.현재 NVIDIA, IntelATI 카드는 AIGLX를 지원합니다.

Compiz는 최대 6개의 가상 데스크톱을 동시에 볼 수 있는 큐브 효과를 도입했습니다.각 데스크톱은 큐브의 표면 텍스처로 변환되어 자유롭게 회전할 수 있습니다.Compiz는 다양한 2D 및 3D 효과를 나타내며 하드웨어 [19]요건이 비교적 낮습니다.2012년에 Compiz는 Ubuntu Linux에 포함되었으며 지원되는 하드웨어와 드라이버를 사용할 수 있고 사용자가 2D [20]모드를 선택하지 않았을 때 자동으로 활성화되었습니다.

Mutter (Metacity + Clutter)는 Metacity를 GNOME 3.0의 기본 창 매니저로 대체하였습니다.주요 운영체제, 넷북, 스마트폰에 이식된 디스플레이 엔진 Clutter를 사용한다.

버전 4 이후 KDE의 창 관리자 KWin은 컴포지트 기능을 가지고 있습니다.KWin은 컴피즈에도 탑재되어 있는 기능과 거의 같은 기능을 갖추고 있습니다.

자바

Project Looking Glass는 3D 렌더링과 교차 플랫폼 Java 프로그래밍 언어를 결합한 창 관리자였습니다.현재는 비활성화되어 GNU General Public License에 따라 출시됩니다.Granular 리눅스 라이브 CD 배포에는 Looking Glass가 선택적 창 관리자로 포함됩니다.

단종된 후 커버 스위칭이나 썸네일 라이브 프리뷰 등 일부 기능은 다른 윈도 매니저에게 보급되고 있습니다.윈도우 기울기, 양면 윈도우 프레임, 시차 스크롤 배경 등 보다 독창적인 기능을 갖추고 있습니다.

AmigaOS 4 및 MorphOS

AmigaOS 4와 MorphOS는 3D 지원 하드웨어에서 실행할 수 있지만 Amiga 1200부터 시작하는 오래된 Amiga 컴퓨터에서 실행할 수 있도록 설계되었습니다.이와 같이 창 관리자들은 컴포지트 레이어, 알파 블렌딩, 그라데이션, 고해상도 및 서로 부분적으로 클리핑할 수 있는 여러 데스크톱("스크린") 등의 평면 렌더링 기능을 대부분 갖추고 있습니다.

Microsoft Windows

Windows 2000 의 윈도 매니저는 컴포지팅을 실행하지만, 픽셀 단위의 알파등의 변환은 실행하지 않습니다.알파 블렌딩의 장점을 이용한 상용 애플리케이션은 거의 없었습니다. 프리웨어 프로그램은 옵션 [21][22]설정을 통해 알파 블렌딩을 실험한 최초의 프로그램 중 하나였습니다.컴포지팅은 Windows [1]Vista에서 데스크톱 윈도 매니저로 도입되었습니다.

Windows Vista 및 Windows 7 에서는, Windows Basic 어피아란스 설정을 선택하고, 데스크탑 윈도우 매니저를 무효로 할 수 있습니다.또한 오버레이 믹서 필터를 통해 하드웨어 오버레이를 수행하기 위해 Windows에 의해 자동으로 비활성화됩니다.

조작성과 아이캔디

컴포지팅 어프로치를 사용하면, 유저 인터페이스의 액세스 용이성, 사용의 심플화, 또는 아이 캔디 요소를 사용한 다수의 기능을 간단하게 실장할 수 있습니다.

돋보기

Compiz의 확대 효과(배율로 보려면 이미지를 클릭하십시오).

TrueType 글꼴 및 3D 가속 요소와 같은 벡터 그래픽은 성능 저하 없이 확장할 수 있습니다(일반적으로 앨리어싱으로 인해).화면 돋보기 기능은 화면의 영역을 확대하여 의 피로를 방지하거나 시각장애인을 위해 또는 단순히 거리를 두거나 텍스트의 일부를 읽기 쉽게 만듭니다.피시 아이 돋보기 및 줌 데스크톱 효과와 같은 줌 효과가 이 기능을 제공합니다.

라이브 프리뷰

사용자가 관련 태스크바버튼을 움직이면 팝업 섬네일로 창 미리보기를 표시할 수 있습니다.이를 통해 사용자는 동시에 실행 중인 여러 프로그램을 식별하고 관리할 수 있습니다.

창 전환

Xgl 기본 창 전환

유사한 이름과 아이콘을 가진 창은 특히 제목 표시줄이 겹칠 때 혼란을 일으키기 쉽습니다. 태스크바에 있는 모든 창의 위치를 기억해야 합니다.이렇게 열려 있는 창이 많을 경우 사용자는 진행하기 전에 시행착오를 반복해야 합니다.각 태스크바버튼을 1개씩 클릭해 주세요.윈도우 전환 기능을 사용하면 여러 윈도우를 장식적인 배경에 맞춰 일시적으로 정렬하여 한 번에 미리 볼 수 있습니다.선택한 후 창이 원래 배열로 복원됩니다.

사용자가 단축키 조합을 입력하거나 마우스 포인터를 화면의 핫스팟으로 이동하거나 상황에 따라 마우스 스크롤 휠을 사용할 때 선택이 시작됩니다.항목은 키보드 또는 마우스를 사용하여 탐색할 수 있습니다.항목을 선택하려면 단축키를 놓거나 Enter 키를 누르거나 마우스로 클릭합니다.

플립 스위칭

Compiz에서 플립 스위칭.

플립 스위처는 Alt-Tab 스위칭 기능의 확장판입니다.실행 중인 창은 스택 형태로 배열되어 있습니다.이는 1950년대 주크박스 또는 Rolodex의 플립 스타일 셀렉터와 유사합니다.일부 시스템에서는 Alt-Shift-Tab을 눌러 뒤로 이동할 수 있습니다.탐색하는 동안 각 항목에 시각적 전환이 적용됩니다.

플립 스위칭의 일반적인 구현에는 Windows의 Flip 3D와 Compiz의 Shift Switcher가 있습니다.

커버 스위칭

커버 스위치(KWin).

커버 스위칭은 플립 스위칭과 같습니다.대부분 시각적인 차이가 있습니다.맨 위에 선택 항목이 있는 하나의 스택 대신 현재 선택 영역의 전면과 중앙에 두 개의 대칭 스택이 표시됩니다(Looking Glass의 윈도우 기울기 기능과 유사).

커버 플로우는 macOS에서의 커버 스위칭 구현입니다.최신 버전에서는 선택되지 않은 항목의 강조를 없애기 위해 흐릿한 기능을 사용합니다.커버 플로우는 iTunes와 같은 애플이 발행한 다른 소프트웨어에도 구현되어 있습니다.

이를 "플릭북 뷰"라고도 합니다.

링 스위칭

Compiz Fusion의 링 스위칭.

링 스위칭은 플립 스위칭과 같습니다.단, 창은 원을 그리며 움직이며, 전류는 앞에, 보통 맨 아래에 있습니다.대부분의 컴포지팅 윈도 매니저에는 이 기능이 포함되어 있으며 3d 데스크톱과 같은 서드파티 어플리케이션도 사용할 수 있습니다.

그룹화

사용자는 함께, 한번에 달랑 창문 한개 각 그룹의 가시적인 방법으로 창문을 나눌 수 있다.컴피즈에서, 창 프레임이 그룹의 활성 창이 변경되었음을 나타내려면 홀딱 반한 있다.

엑스포세

MacOS 그들 건축물에 의해 화면의 모든 창의 미리 보기가 표시합니다.유사한 기능을(MicrosoftWindows, 컴피즈, KWin, 타사 응용 프로그램)을 가진 다른 시스템에 Exposé 복제라고 부른다.그 변하Exposé을 활성화하는 것이다 아니라 실행 중인 것이 아니라, F3.

미션 컨트롤

맥 OSX10.7몇몇 다른 채널 기능 Apple—such에 의해 Exposé, 대시 보드, 그리고 Spaces—into 큰 프로그램 지상 통제라고 불리는으로 발달해 결합한 것이다.

위젯 엔진

MacOS에서는 단축키를 누르면 시계, 노트 패드, 계산기 등의 "위젯"(단일 용도 애플릿)이 나타날 수 있습니다.위젯 엔진은 일반적으로 사용되는 위젯에 쉽게 액세스할 수 있도록 유지하여 작업 속도를 높입니다.이러한 기능은 macOS의 대시보드 프로그램에 의해 처리됩니다.

컴피즈는 빈 위젯 계층으로 시작하여 사용자가 애플리케이션을 클릭하여 추가할 수 있도록 합니다.Screenlet, gDesklet, SuperKaramba [23]등 다양한 위젯이 지원됩니다.

Windows Vista는 사용자가 Windows 사이드바(사이드바 가젯), Windows Live 시작 페이지(웹 가젯) 또는 사용자의 휴대 전화(SideShow 가젯)와 같은 외부 디스플레이에 배치할 수 있는 가젯을 제공합니다.Windows 사이드바는 Windows Vista에서 볼 수 있는 파티션이었지만 Windows 7에서는 데스크톱 가젯으로 변경된 사이드바 가젯과 함께 사라졌습니다.

이행 및 기타 효과

컴포지트 윈도 매니저가 개발되기 전에는 윈도우가 순식간에 화면 안팎으로 이동하기 때문에 인터페이스의 비유(및 물리적인 오피스 설정)와 일치하지 않습니다.Classic Mac OS와 같은 일부 시스템에서는 ZoomRects를 사용하여 이 문제를 방지하고 최종 [24]위치를 향해 "줌 아웃라인"을 애니메이션으로 표시합니다.그러나 대부분의 시스템에서는 GUI 요소의 갑작스런 출현과 소멸이 경험이 없는 [citation needed]사용자에게는 혼란스럽거나 혼란스럽게 보일 수 있습니다.시각적 전환은 컨텍스트를 제공하고 GUI 요소의 인과 관계를 구별하는 데 도움이 됩니다.창이 사라지기만 하는 것이 아니라 사라지거나 태스크바에 표시되도록 축소될 수 있습니다.클릭한 풀다운 메뉴는 메뉴바에서 부드럽게 바깥쪽으로 전달되어 그 원점과 용도를 쉽게 파악할 수 있습니다.

점진적이고 자연스러운 전환은 특히 화면의 변화를 더 천천히 알아차리고 덜 선명하게 느끼는 고령자나 시각 장애 사용자에게 도움이 될 수 있습니다[original research?].예를 들어, 경험이 없는 사용자는 실수로 활성화된 메뉴를 충동적으로 클릭해서 작업을 잃을 수 있습니다.시각적 전환을 표시하기 위해 필요한 짧은 지연은 사용자가 의식적으로 결정을 내리고 이러한 실수를 피할 수 있는 충분한 시간을 줄 수 있습니다.

사용자 인터페이스 전면

Metisse는 직접 조작 [25]기법을 사용하여 기존 그래픽 인터페이스를 조정, 재구성 및 재결합할 수 있는 간단한 방법을 사용자에게 제공하는 시스템인 사용자 인터페이스 파사드를 구현한다.

컴포지팅 창 관리자 목록

독립 실행형 컴포지팅 관리자 목록

  • xcompmgr: Compiz의 최소 대체 수단
  • 콤프턴 – xcompmgr의 포크인 dcompmgr의 버그 고정 포크.(2017년 이후 유지되지 않음)
  • Picom - X11용 경량 컴포지터.콤프턴의 포크입니다.
  • Cairo Compmgr(Cairo Composite Manager): 기존 창 관리자를 위한 컴포지트 애드온.GTK+에서도 사용되는 벡터 그래픽 라이브러리인 카이로를 사용하고 있습니다.
  • [Unagi Compositing Manager] : 기존 윈도 매니저와 함께 사용할 수 있는 컴포지팅 매니저.XCB 라이브러리를 사용합니다. (2014년 이후 유지 관리되지 않음)
  • MCompositor: MeeGo 핸드셋에서 사용됩니다.

컴포지팅 윈도 매니저가 있는 운영체제

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b "Desktop Window Manager". Msdn2.microsoft.com. Retrieved 21 November 2008.
  2. ^ a b "Mac OS X 10.4 Tiger: Page 13". Arstechnica.com. Retrieved 21 November 2008.
  3. ^ "Compiz.org :: Home/Start – Compiz". Compiz.org. Archived from the original on 12 October 2006. Retrieved 21 November 2008.
  4. ^ "Blueprint: "Compositing window management (compiz/beryl)"". Blueprints.launchpad.net. Retrieved 21 November 2008.
  5. ^ "Multiple Internet Explorer Instances Do Not Redraw Screen Correctly". Microsoft. 9 October 2003. Retrieved 17 December 2010.
  6. ^ "PHOTOSCORE SUPPORT FAQ". Retrieved 17 December 2010.
  7. ^ "Mouser cursor corruption on xinerama". Canonical Ltd. 2 August 2006. Retrieved 17 December 2010.
  8. ^ "Archived from groups: microsoft.public.windowsxp.video". Bestofmedia Group. 18 July 2004. Retrieved 17 December 2010.
  9. ^ "Mustang: Swing apps freeze then painting corrupt". Oracle. 1 May 2006. Archived from the original on 26 July 2011. Retrieved 17 December 2010.
  10. ^ "Amiga RKM Libraries Manual".
  11. ^ "A Brief History of Mac OS X". Kernelthread.com. Archived from the original on 22 January 2009. Retrieved 21 November 2008.
  12. ^ "Sun and I.B.M. to Offer New Class of High-End Servers".
  13. ^ "Microsoft's Longhorn 3D UI– More Info Emerges". ExtremeTech.
  14. ^ "Microsoft Windows History". Computerhope.com. Retrieved 21 November 2008.
  15. ^ "The (Re)Architecture of the X Window System". Keithp.com. Retrieved 21 November 2008.
  16. ^ "pkgsrc.se The NetBSD package collection". Pkgsrc.se. Retrieved 21 November 2008.
  17. ^ "Xfce 4.2.0 released!". foo-projects.org. 16 January 2005. Retrieved 25 February 2009.
  18. ^ "Version History – Preferences Hide and Seek". Hideseek.sourceforge.net. Retrieved 21 November 2008.
  19. ^ "Installing/running Compiz on GeForce2 MX/MX 400".[영구 데드링크]
  20. ^ "What is the app, "compiz" responsible for on ubuntu 12.04?".
  21. ^ "Example alpha transparency utility".
  22. ^ "Alpha Blending (Transparent) Windows". CodeGuru. Archived from the original on 30 June 2008. Retrieved 26 July 2008.
  23. ^ "Plugins/Widget - Compiz Wiki". Compiz. Retrieved 26 December 2010.
  24. ^ "High Tech Binoculars".
  25. ^ "Metisse: User Interface Façades". Metisse. Retrieved 3 August 2011.
  26. ^ 3Dwm - About, 23 January 2004, archived from the original on 6 February 2004, retrieved 4 February 2010
  27. ^ 3Dwm - About - FAQ - About the Project, 3 December 2003, archived from the original on 24 February 2004, retrieved 4 February 2010
  28. ^ 3D window manager, archived from the original on 17 July 2011, retrieved 16 December 2010
  29. ^ Yeargin, Ray (31 March 2005), 3DWM: A screenshot look at the 3D desktop, retrieved 16 December 2010

외부 링크