Breeze : KDE 5에서 기본적으로 제공되지 않는 이유는 무엇입니까?

이미 알고 있듯이 KDE Next (또는 선호하는 KDE 5)는 며칠 전에 안정적으로 출시되었으며 새로운 기능 중 가장 많이 언급되는 것은 Breeze라는 새로운 아트 워크입니다.

Breeze

이 새 버전을 이미 시도했거나 비디오를 본 사람들은 창 데코레이터의 경우 기본적으로 제공되는 것이 Breeze가 아니라 Oxygen이라는 것을 알 수있을 것입니다. 게다가 마틴 그레 스린 우리를 설명합니다 그의 블로그에 이 결정의 이유는 무엇입니까?

기사가 영어로되어 있기 때문에 이것에 대한 근본적인 아이디어를 전달하려고 노력할 것입니다.

Breeze가 기본적으로 제공되지 않는 이유는 무엇입니까?

KWin 4에서 창 장식이 작동하는 방식에 대한 설명부터 시작합니다. KWin은 이른바 창 관리자의 부모 재 지정입니다. 즉, X11에서 관리하는 창은 창 프레임을 제공하는 다른 X11 창에 배치됩니다. KWin에서는 창 프레임에 QWidget을 사용합니다. 따라서 우리는 또한 QWidget이 우리에게 제공하는 것에 만 국한됩니다. 우리의 해결책은 QWidget의 모든 데코레이션 페인팅 이벤트를 가로 채서 억제하고, 작곡가의 재 페인트를 트리거하고, 렌더링 단계에서 복사되는 임시 이미지의 데코레이션을 보장하는 것입니다. 텍스처로.


Breeze 테마 창 장식은 Aurorae 테마 엔진을 기반으로합니다. 제가 Aurorae의 주 저자이기 때문에이 블로그 게시물에 대해 나쁘게 생각하지 않고 올릴 수 있습니다. 🙂 Aurorae는 장식을 만들고 새로운 반투명 기능을 사용하기 매우 쉽게 설계되었습니다. 기본 장식으로 사용할 수있는 솔루션 이었지만 목표는 아니 었습니다. 대부분의 사용자는 더 빠른 기본 테마를 사용할 수있는 반면이 기능을 사용자 정의하려는 사용자를 허용하는 것이 아이디어였습니다. Aurorae는 결코 빠르지 않았고 빠르지도 않을 것입니다.


이제 KWin 5에서 QML 사용은 Aurorae를 사용하기 어렵게 만드는 주요 문제입니다. QtQuick은 Scenegraph를 사용하고 QWidget 대신 QWindows를 사용합니다. 그것은 우리의 QWidget 기반 API에있어서 안타까운 일입니다. QWindows 기반 장식을 지원하기 위해 내부 사용을 조정했지만 창 동작에 차이가 있기 때문에 상당히 어려운 길이었습니다. 더 이상 QWidget을 기반으로하지 않기 때문에 페인트 이벤트 트래핑이 깨졌고 이에 대한 새로운 솔루션이 필요했습니다. 그리고이 솔루션은 QtQuick이 현재 OpenGL을 통해 작동하고 있기 때문에 이전 솔루션보다 훨씬 추합니다. QtQuick에서 사용하는 OpenGL 컨텍스트와 공유 할 수없는 OpenGL Qt 응용 프로그램 (Qt 5.4에서 해결 될 수 있음)의 제한으로 인해 ... 이것은 콘텐츠를 GPU에서 RAM으로 복사하고 다시 RAM으로 복사 할 때 엄청난 오버 헤드가 아닙니다. GPU를 사용하면 메모리도 많이 손실됩니다. 최대화 된 창의 경우 제목 표시 줄뿐 아니라 전체 창입니다. 그리고 모든 창에는 오버 헤드가 있습니다.


그것만으로도 Aurorae를 완전히 사용할 수 없게 될 수 있습니다. 현재 Breeze 테마를 사용하고 있으며 KWin에는 200MB 이상의 RAM이 필요합니다. 그러나 상황은 더 나쁩니다. QWindows에서는 어떤 영역이 업데이트되었는지 알 수 없습니다. 예를 들어 버튼이 업데이트되면 장식 내용의 전체 사본을 포함하여 전체 창을 다시 그려야합니다. 특히 애니메이션 상황에서는 큰 문제입니다.


그래서 앞으로의 길은 무엇입니까? QWidget에서 웰빙 기반 데코레이션의 제한을 제거하여 API에 대한 새로운 데코레이션을 구현하기 시작했으며 동시에이 새로운 API로 Breeze 데코레이션을 구현하기 시작했습니다. KWin 5.1에서 소개 할 수 있기를 바랍니다.


그리고 그게 상황입니다, 여러분. 나는 당신이 문제가 무엇인지 다소 이해하기를 바랍니다. Oxygen과 같은 기본 Breeze 테마를 만드는 것이 더 실용적이고 빠르지 않은지 Martin에게 물어볼 것입니다. 현재로서는 걱정하지 않지만 Oxygen은 세상에서 가장 귀여운 것은 아니지만 많은 옵션이 있습니다. ..


기사의 내용은 우리의 원칙을 준수합니다. 편집 윤리. 오류를보고하려면 여기에.

11 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   이반 바람

    나는 다 읽었지만 아무것도 이해하지 못했고 오늘은 느리다. 어쨌든 OpenSUSE 5에서 KDE 13.1를 테스트 할 수 없습니다. 나는 내가 가지고있는 "오래된"의존성에 의해 망가졌다.
    가상 OS에서 다른 OS로 또 다른 기회를 줄 수 있습니다.

    입력 해 주셔서 감사합니다.

    1.    나노

      그것은 쉽지 않습니다. 기본적으로 구현을 수행하는 방법이 특히 플러그인의 경우 복잡하고 본질적으로 오로라는 산소보다 훨씬 더 느리다는 것을 설명하려고합니다.

      나는 이런 의미에서 창 장식가의 부분과 나에게 보이는 모든 것을 모른다.

    2.    나노

      그것은 쉽지 않습니다. 기본적으로 구현을 수행하는 방법이 특히 플러그인의 경우 복잡하고 본질적으로 오로라는 산소보다 훨씬 더 느리다는 것을 설명하려고합니다.

      이런 의미에서 창 데코레이터의 부분에서 KDE가 그놈의 한 단계 뒤를 잇는 것처럼 보이는 모든 것을 알지 못합니다. 그리고 조심하십시오. 나는 기껏해야 KDE의 팬입니다. 그것이 사실 일 때 인정하는 것.

    3.    트사란

      주제에 대해 아무것도 알지 못했지만 기본적으로 오로라 (Breeze가 사용하는 엔진)가 이제 문제를 야기한다는 사실을 이해했습니다. Kwin5는 더 이상 kwin4 에서처럼 qwidget을 사용하지 않고 창도 동일하게 작동하지 않기 때문입니다. 대신 OpenGL과 직접 작동하는 QML 및 QTquick을 사용하므로 qt 5.3의 기존 제한으로 인해 이전 엔진과 테마가 새 Kwin에서 제대로 작동하지 않는 것으로 보입니다.

  2.   mat1986

    Breeze를 Oxygen의 스타일이나 작업 방식에 맞게 만들거나 적용 할 수 있습니까?

  3.   잔데쿠에라

    누구든지 qtcurve에 무슨 일이 일어날 지 아십니까?

    1.    트사란

      Qtcurve-qt5는 꽤 오랫동안 완벽하게 작동했습니다. KDE의 새 버전은 언제나처럼 이어질 것입니다.

      1.    아이오 리아

        항상 현재의 최전선에있는 Kaos에서 Kf5를 테스트하여 Kaos Linux 플라즈마에서 다음으로 알려진 Kf5 또는 kde XNUMX 산소가 기본적으로 제공된다는 것은 이미 나에게 이상했습니다. 와우, 당신이 Aurorae의 제작자라는 것을 몰랐습니다 ...

        1.    트사란

          나는 오로라의 창조자인가? O_o;

  4.   세르지오 E. 듀란

    나는 나중에 산들 바람이 될 것 같은 다음 신선한 오로라에서도 산들 바람을 대체하고 있었지만 SVG를 테마에 맞게 조정할 수 없으므로 개발이 비활성화되어 있습니다. 당신이 당신을 사랑할 기회가 있다면 elav 바람 장식의 대안으로 내 오로라 장식의 아이디어를 네이티브 KDE 장식으로 이식 할 수 있는지 확인하기 위해 브리즈 테마의 제작자에게 보여주기 위해

    https://drive.google.com/file/d/0B6VUkpZzqL7hbk1QbWN6eVcycU0/edit?usp=sharing

  5.   엘리오타임3000

    가족과 자녀가 있고 5 살 정도가되면 KDE 30가 Fedora, Debian, Slackware 및 Arch에있을 것이라고 생각합니다.

    요컨대, 내가 떠난 어린 젊은이들을 계속해서 활용하는 것입니다.