„Breeze“: kodėl jis nėra numatytasis KDE 5?

Kaip mes jau žinome, „KDE Next“ (arba KDE 5, kaip jums labiau patinka) prieš kelias dienas buvo išleistas kaip stabilus ir tarp naujų jo teikiamų funkcijų vienas labiausiai aptarinėjamas yra naujasis „Artwork“, pavadintas „Breeze“.

vėjas

Tie, kurie jau išbandė šią naują versiją arba matė vaizdo įrašą, galbūt pastebėjo, kad langų dekoratoriaus atveju pagal numatytuosius nustatymus yra deguonis, o ne „Breeze“. Taip pat Martin Gräßlin paaiškina mus savo tinklaraštyje kokia šio sprendimo priežastis.

Kadangi straipsnis yra anglų kalba, pabandysiu pateikti jums pagrindinę šios idėjos idėją.

Kodėl „Breeze“ neatlieka pagal nutylėjimą?

Pradedu nuo paaiškinimo, kaip veikia langų dekoravimas programoje „KWin 4“. KWin yra vadinamasis langų tvarkytuvių auklėjimas. Tai reiškia, kad langas, kurį valdo X11, yra įdėtas į kitą langą X11, kuris suteikia lango rėmą. KWin lango rėmui naudojame QWidget. Todėl mes taip pat apsiribojame tuo, ką mums teikia „QWidget“ ... Mūsų sprendimas yra perimti visus „QWidget“ dekoravimo tapybos įvykius ir juos užgniaužti, sukelti kompozitoriaus perdažymą ir perteikimo etape garantuoti laikino atvaizdo, kuris tada nukopijuojamas, dekoravimą. į tekstūrą.


„Breeze“ temos langų dekoravimas pagrįstas „Aurorae“ teminiu varikliu. Kadangi esu pagrindinis „Aurorae“ autorius, galiu tai patekti į šį tinklaraščio įrašą, nesijaudindamas blogai. 🙂 „Aurorae“ buvo sukurtas taip, kad būtų labai lengva sukurti dekoraciją ir pasinaudoti naujomis permatomumo funkcijomis. Tai yra sprendimas, kurį galima naudoti kaip numatytąją dekoraciją, tačiau tai niekada nebuvo jų tikslas. Idėja buvo leisti vartotojams, norintiems pritaikyti šią funkciją, o dauguma vartotojų gali naudoti greitesnes savąsias temas. Aurorae niekada nebuvo greita ir ji nebus greita.


Dabar „KWin 5“ versijoje QML naudojimas yra pagrindinė problema, dėl kurios Aurorae sunku naudoti. „QtQuick“ naudoja „Scenegraph“ ir vietoj „QWidget“ naudoja „QWindows“. Tai yra mūsų „QWidget“ pagrįstos API sprogimas. Mes pritaikėme vidinį naudojimą palaikydami „QWindows“ dekoracijas, tačiau tai buvo gana sunkus kelias, nes langų elgsena skiriasi. Kadangi tai nebėra paremta „QWidget“, mūsų dažų įvykių gaudymas yra sugedęs ir mums reikėjo naujo sprendimo. Šis sprendimas yra dar bjauresnis nei ankstesnis, nes „QtQuick“ šiuo metu dirba per „OpenGL“. Dėl „OpenGL Qt“ programos apribojimų (kuriuos galima aptarti Qt 5.4), kurių negalime pasidalinti su „QtQuick“ naudojamu „OpenGL“ kontekstu ... Tai ne tik didžiulė pridėtinė vertė kopijuojant turinį iš GPU į RAM ir vėl į GPU, taip pat prarandate daug atminties. Padidinto lango atveju tai ne tik pavadinimo juosta, bet ir visas langas. Ir kiekvienam langui yra ta viršutinė dalis.


Jau vien dėl to „Aurorae“ gali būti visiškai netinkama naudoti. Šiuo metu naudoju „Breeze“ temą, o „KWin“ reikia daugiau nei 200 MB RAM - tai tikrai nepriimtina. Tačiau padėtis dar blogesnė. Naudodami „QWindows“ negalime žinoti, kurios sritys atnaujintos. Taigi, kai, pavyzdžiui, atnaujinamas mygtukas, turime perdažyti visą langą, įskaitant visą dekoravimo turinio kopiją. Tai ypač didelė problema animacijos situacijose.


Taigi, koks yra kelias į priekį? Aš pradėjau diegti naują API apdailą, pašalindamas gerove pagrįsto apdailos apribojimą iš „QWidget“ ir tuo pačiu pradėjau diegti „Breeze“ apdailą su šia nauja API. Tikimės, kad tai galėsime įdiegti KWin 5.1.


Ponai taip ir yra. Tikiuosi, kad jūs daugmaž suprantate, kokia yra problema. Ketinsiu paklausti Martino, ar nėra praktiškiau ir greičiau sukurti tokią vietinę „Breeze“ temą kaip „Deguonis“, nors šiuo metu nesijaudinu, „Deguonis“, nors tai nėra pats mieliausias dalykas pasaulyje, jis turi daug galimybių ..


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   ivanbarramas sakė

    Aš viską perskaičiau, bet nieko nesupratau, šiandien esu lėtas. Bet kokiu atveju, aš vis dar negaliu išbandyti KDE 5 savo „OpenSUSE 13.1“. Tai mane palaužia dėl kai kurių „senų“ priklausomybių, kurias turiu.
    Gal suteiksiu dar vieną galimybę su kita virtualia OS.

    Sveikinimai ir ačiū už indėlį.

    1.    nanotechnologijų sakė

      Tai nėra lengva, iš esmės bandoma paaiškinti, kad diegimo būdas yra sudėtingas, ypač įskiepių atveju, ir kad iš esmės auroros yra LĖTOS, daug daugiau nei deguonis.

      Šia prasme aš nežinau lango dekoratoriaus dalies ir viso to, kas man atrodo

    2.    nanotechnologijų sakė

      Tai nėra lengva, iš esmės bandoma paaiškinti, kad diegimo būdas yra sudėtingas, ypač įskiepių atveju, ir kad iš esmės auroros yra LĖTOS, daug daugiau nei deguonis.

      Šia prasme aš nežinau langų dekoratoriaus dalies ir viso to, kas man atrodo, kad KDE yra žingsnis už GNOME, ir saugokitės, aš geriausiu atveju esu KDE gerbėjas, tik kad man tai nėra sunku ką nors pripažinti, kai tai tiesa.

    3.    Txarran sakė

      Nieko apie tai nežinodamas, iš esmės supratau, kad aurorae (variklis, kurį naudoja „Breeze“) dabar kelia problemų, nes „Kwin5“ nebevartoja „qwidget“ kaip kwin4, o langai elgiasi ne taip pat. Vietoj to, jis naudoja QML ir QTquick, kurie veikia tiesiogiai su „opengl“, todėl atrodo, kad kai kurie esami qt 5.3 apribojimai neleidžia senam varikliui ir jo temoms gerai veikti naujajame „Kwin“.

  2.   mat1986 sakė

    Ar įmanoma sukurti „Breeze“ (ar pritaikyti) prie „Oxygen“ stiliaus ar darbo būdo?

  3.   Ekandekuera sakė

    Kas nors įsivaizduoja, kas nutiks qtcurve?

    1.    Txarran sakė

      „Qtcurve-qt5“ jau kurį laiką veikia puikiai. Nauja KDE versija bus naudojama kaip visada.

      1.    aiolia sakė

        Man jau buvo keista, kad Kaose, kuris visada yra dabarties priešakyje, išbandyti Kf5, kad būtų žinoma, kad „Kaos linux“ plazmoje yra kitas arba kde 5 deguonis būtų numatytas. Oho, tu nežinojai, kad esi „Aurorae“ kūrėjas ...

        1.    Txarran sakė

          Aš esu aurorae kūrėjas? O_o;

  4.   Sergio E. Duranas sakė

    Kūriau vėjelio pakaitalą taip pat ir šviečiančiose saulėgrąžose, kurios vėliau bus vėjiškos, bet negaliu pritaikyti SVG temai, todėl jos plėtra yra neaktyvi, elav, jei turite galimybę, norėčiau jus pamilti parodykite jam vėjo temos kūrėjui, kad sužinotumėte, ar jie gali perkelti mano aurorae dekoracijos idėją į vietines KDE dekoracijas kaip alternatyvą vėjelio dekoravimui

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

  5.   3000 sakė

    Manau, kad KDE 5 bus „Fedora“, „Debian“, „Slackware“ ir „Arch“, kai turėsiu šeimą ir vaikus, ir man bus apie 30 metų.

    Trumpai tariant, ir toliau pasinaudoti man likusiu mažu jaunimu.