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“.
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ų ..
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į.
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
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.
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“.
Ar įmanoma sukurti „Breeze“ (ar pritaikyti) prie „Oxygen“ stiliaus ar darbo būdo?
Kas nors įsivaizduoja, kas nutiks qtcurve?
„Qtcurve-qt5“ jau kurį laiką veikia puikiai. Nauja KDE versija bus naudojama kaip visada.
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 ...
Aš esu aurorae kūrėjas? O_o;
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
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.