Breeze: Prečo to štandardne neprichádza v KDE 5?

Ako už vieme, KDE Next (alebo KDE 5, ako chcete) vyšiel ako stabilný pred pár dňami a medzi novými funkciami, ktoré prináša, je jedným z najviac hovorených nový Artwork s názvom Breeze.

Vánok

Tí, ktorí už túto novú verziu vyskúšali alebo videli video, si mohli všimnúť, že v prípade dekorátora okien je predvolene dodávaný kyslík a nie Breeze. Tiež Martin Gräßlin vysvetľuje nás na svojom blogu aký je dôvod tohto rozhodnutia.

Pretože je článok v angličtine, pokúsim sa vám priblížiť jeho základnú myšlienku.

Prečo Breeze štandardne nepríde?

Začnem vysvetlením, ako fungujú okenné dekorácie v KWin 4. KWin je takzvaná re-parentácia správcov okien. To znamená, že okno spravované X11 je vložené do iného okna X11, ktoré poskytuje okenný rám. V spoločnosti KWin používame pre okenný rám QWidget. Preto sme tiež obmedzení na to, čo nám QWidget poskytuje ... Naše riešenie je zachytiť všetky udalosti maľovania dekorácií v QWidgeti a potlačiť ich, spustiť prekreslenie skladateľa a v kroku vykreslenia zaručiť dekoráciu dočasného obrazu, ktorý sa potom skopíruje do textúry.


Výzdoba tematického okna Breeze je založená na tematickom jadre Aurorae. Pretože som hlavným autorom Aurorae, môžem sa tohto blogového príspevku zmestiť bez toho, aby som sa z toho cítil zle 🙂 Aurorae bolo navrhnuté tak, aby bolo veľmi ľahké vytvoriť dekoráciu a využiť nové funkcie priesvitnosti. Byť riešením, ktoré by sa dalo použiť ako predvolená dekorácia, ale nikdy to nebolo ich cieľom. Cieľom bolo umožniť používateľom, ktorí si chcú túto funkciu prispôsobiť, zatiaľ čo väčšina používateľov môže používať rýchlejšie natívne témy. Aurorae nikdy nebola rýchla a ani rýchla nebude.


Teraz v KWin 5 je použitie QML hlavným problémom, ktorý sťažuje použitie Aurorae. QtQuick používa Scenegraph a namiesto QWidgetu používa QWindows. To je nepríjemné pre naše API založené na QWidget. Upravili sme interné použitie tak, aby podporovalo dekorácie založené na QWindows, ale to bola dosť náročná cesta, pretože existujú rozdiely v správaní okien. Pretože to už nie je založené na QWidget, naše zachytávanie udalostí farieb je prerušené a potrebovali sme pre to nové riešenie. A toto riešenie je ešte škaredšie ako predchádzajúce, pretože QtQuick v súčasnosti pracuje prostredníctvom OpenGL. Z dôvodu obmedzení v aplikácii OpenGL Qt (možno ich vyriešiť v Qt 5.4), ktoré nemôžeme zdieľať s kontextom OpenGL používaným programom QtQuick ... Toto nie je len veľká réžia pri kopírovaní obsahu z GPU do RAM a späť do GPU, strácate tiež veľa pamäte. V prípade maximalizovaného okna nejde iba o záhlavie, ale o celé okno. A tam je to réžia pre každé okno.


Už len to môže spôsobiť, že Aurorae sú úplne nepoužiteľné. Momentálne používam tému Breeze a KWin potrebuje viac ako 200 MB RAM - nie je to skutočne prijateľné. Ale situácia je ešte horšia. S QWindows nemôžeme vedieť, ktoré oblasti boli aktualizované. Takže napríklad keď sa aktualizuje tlačidlo, musíme vymaľovať celé okno vrátane kompletnej kópie obsahu dekorácie. To je obzvlášť v animačných situáciách veľký problém.


Aká je teda cesta vpred? Začal som implementovať novú výzdobu pre API odstránením obmedzenia dekorácie na základe pohody z QWidgetu a súčasne som začal implementovať výzdobu Breeze s týmto novým API. Dúfam, že to môžeme predstaviť v KWin 5.1.


A tak to je, páni. Dúfam, že viac-menej pochopíte, v čom je problém. Poprosím Martina, či nie je praktickejšie a rýchlejšie vytvoriť natívnu tému Breeze ako kyslík, aj keď momentálne si nerobím starosti, kyslík, hoci to nie je tá najroztomilejšia vec na svete, má veľa možností ..


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   ivanbarram dijo

    Prečítala som všetko, ale ničomu som nerozumela, dnes som pomalá. Napriek tomu stále nemôžem otestovať KDE 5 na mojom OpenSUSE 13.1. Láme ma to kvôli niektorým „starým“ závislostiam, ktoré mám.
    Možno ti dám ďalšiu šancu s iným OS vo virtuálnom.

    Zdravím a ďakujem za príspevok.

    1.    nano dijo

      Nie je to ľahké, v podstate sa snaží vysvetliť, že spôsob implementácie je zložitý, najmä pre pluginy a že polárna žiara je v podstate POMALÁ, oveľa viac ako kyslík.

      V tomto zmysle neviem o časti dekorátora okien a o všetkom, čo sa mi zdá

    2.    nano dijo

      Nie je to ľahké, v podstate sa snaží vysvetliť, že spôsob implementácie je zložitý, najmä pre pluginy a že polárna žiara je v podstate POMALÁ, oveľa viac ako kyslík.

      Neviem, v tomto zmysle, v časti dekorátora okien a všetko, čo sa mi zdá, že KDE je krok pozadu za GNOME, a pozor, v najlepšom prípade som fanúšikom KDE, ibaže to pre mňa nie je ťažké pripustiť niečo, keď je to pravda.

    3.    Txarran dijo

      Bez toho, aby som o tom niečo vedel, som v podstate pochopil, že polárna žiara (motor, ktorý používa Breeze) teraz spôsobuje problémy, pretože Kwin5 už nepoužíva qwidget ako v kwin4 a okná sa nesprávajú rovnako. Namiesto toho používa QML a QTquick, ktoré pracujú priamo s openglom, a preto sa zdá, že niektoré existujúce obmedzenia v qt 5.3 bránia starému enginu a jeho témam nepodávať dobrý výkon v novom Kwine.

  2.   mat1986 dijo

    Bolo by možné vytvoriť (alebo prispôsobiť) Breeze štýlu alebo spôsobu práce, ktorým disponuje kyslík?

  3.   Eandekuera dijo

    Má niekto tušenie, čo sa stane s qtcurve?

    1.    Txarran dijo

      Qtcurve-qt5 funguje už nejaký čas perfektne. Nová verzia KDE bude nasledovať ako vždy.

      1.    aiolia dijo

        Už mi bolo čudné, že v Kaose, ktorý je vždy v popredí súčasnosti, sa testuje Kf5, takže je známe, že v Kaose je linuxová plazma ďalej alebo kde by štandardne prišiel kyslík 5. Páni, nevedeli ste, že ste tvorcom Aurorae ...

        1.    Txarran dijo

          Som tvorcom polárnych žiarok? O_o;

  4.   Sergio E. Duran dijo

    Vytvárala som náhradu za vánok aj na polárnych žiarach s názvom next fresh, ktoré by neskôr boli vánok fresh, ale s prispôsobením SVG téme nemôžem, takže jeho vývoj je neaktívny, ak máte možnosť, rád by som vás ukážte mu, že je tvorcom vánkovej témy, či dokáže preniesť myšlienku mojej polárnej žiary na pôvodné ozdoby KDE ako alternatívu k vánkovej výzdobe

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

  5.   eliotime3000 dijo

    Myslím, že KDE 5 bude na Fedore, Debiane, Slackware a Arche, keď budem mať rodinu a deti a budem mať okolo 30 rokov.

    Skrátka, naďalej využívať výhody malej mladosti, ktorá mi zostala.