Brise: Hvorfor kommer det ikke som standard i KDE 5?

Som vi allerede ved, blev KDE Next (eller KDE 5 som du foretrækker) frigivet som stabil for et par dage siden, og blandt de nye funktioner, det bringer, er et af de mest omtalte det nye illustrationer kaldet Breeze.

Breeze

De, der allerede har prøvet denne nye version eller har set videoen, har muligvis bemærket, at i tilfælde af vinduesdekoratøren er den der kommer som standard Oxygen og ikke Breeze. Såvel Martin Gräßlin forklarer os på hans blog hvad er årsagen til denne beslutning?

Da artiklen er på engelsk, vil jeg forsøge at bringe dig den grundlæggende idé om dette.

Hvorfor kommer Breeze ikke som standard?

Jeg starter med forklaringen på, hvordan vinduesdekorationer fungerer i KWin 4. KWin er den såkaldte re-parenting af vinduesadministratorer. Dette betyder, at det X11-styrede vindue sættes i et andet X11-vindue, der giver vinduesrammen. Hos KWin bruger vi QWidget til vinduesrammen. Derfor er vi også begrænset til det, som QWidget giver os ... Vores løsning er at opfange alle dekorationsmaleribegivenheder i QWidget og undertrykke det, udløse en gentegning af komponisten og i gengivelsestrinet garantere udsmykningen af ​​et midlertidigt billede, der derefter kopieres ind i en struktur.


Breeze-temaets vinduesdekoration er baseret på Aurorae-tema-motoren. Da jeg er hovedforfatter af Aurorae, kan jeg slå det op på dette blogindlæg uden at føle mig dårligt om det 🙂 Aurorae blev designet til at være meget let at skabe en dekoration og gøre brug af de nye gennemsigtighedsfunktioner. At være en løsning, der kunne bruges som standarddekoration, men det var aldrig deres mål. Ideen var at tillade brugere, der ønsker tilpasning af denne funktion, mens de fleste brugere kan bruge native temaer, der er hurtigere. Aurorae var aldrig hurtig, og hun vil ikke være hurtig.


Nu i KWin 5 er brugen af ​​QML det største problem, der gør Aurorae vanskelig at bruge. QtQuick bruger Scenegraph og bruger QWindows i stedet for QWidget. Det er en bummer for vores QWidget-baserede API. Vi justerede den interne brug til at understøtte QWindows-baserede dekorationer, men det var en ganske vanskelig vej, da der er forskelle i vinduesadfærd. Da det ikke længere er baseret på QWidget, er vores fangst af malingsbegivenheder brudt, og vi havde brug for en ny løsning til det. Og denne løsning er endnu grimmere end den forrige, fordi QtQuick i øjeblikket arbejder gennem OpenGL. På grund af begrænsninger i OpenGL Qt-applikationen (kunne adresseres i Qt 5.4), som vi ikke kan dele med OpenGL-konteksten, der bruges af QtQuick ... Dette er ikke kun et stort overhead, når vi kopierer indholdet fra GPU'en til RAM og tilbage igen til GPU'en, mister du også meget hukommelse. I tilfælde af et maksimeret vindue er det ikke kun titellinjen, men hele vinduet. Og der er den overhead for hvert vindue.


Det alene kan gøre Aurorae helt ubrugelig. Jeg bruger i øjeblikket Breeze-temaet, og KWin har brug for mere end 200 MB RAM - ikke rigtig acceptabelt. Men situationen er endnu værre. Med QWindows kan vi ikke vide, hvilke områder der blev opdateret. Så når for eksempel en knap opdateres, skal vi male hele vinduet igen, inklusive den komplette kopi af dekorationsindholdet. Det er især et stort problem i animationssituationer.


Så hvad er vejen frem? Jeg begyndte at implementere en ny dekoration til API'en ved at fjerne begrænsningen af ​​den wellness-baserede dekoration fra QWidget, og på samme tid begyndte jeg at implementere Breeze-dekorationen med denne nye API. Håber vi kan introducere dette i KWin 5.1.


Og sådan er det, mine herrer. Jeg håber, du forstår mere eller mindre, hvad problemet er. Jeg vil spørge Martin, om det ikke er mere praktisk og hurtigere at lave det oprindelige Breeze-tema som ilt, selvom jeg i øjeblikket ikke er bekymret, ilt selvom det ikke er den sødeste ting i verden, det har en masse muligheder


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   ivanbarram sagde han

    Jeg læste alt, men jeg forstod ikke noget, jeg er langsom i dag. Under alle omstændigheder kan jeg stadig ikke teste KDE 5 på min OpenSUSE 13.1. Jeg er brudt af nogle "gamle" afhængigheder, som jeg har.
    Måske giver jeg dig endnu en chance med et andet operativsystem i et virtuelt.

    Hilsner og tak for input.

    1.    nano sagde han

      Det er ikke let, det grundlæggende forsøger at forklare, at måden at gøre implementeringerne på er kompleks, især for plugins, og at Aurorae i det væsentlige er langsom, meget mere end ilt.

      Jeg ved ikke i denne forstand den del af vinduesdekoratøren og alt, hvad der synes mig

    2.    nano sagde han

      Det er ikke let, det grundlæggende forsøger at forklare, at måden at gøre implementeringerne på er kompleks, især for plugins, og at Aurorae i det væsentlige er langsom, meget mere end ilt.

      Jeg ved ikke i den forstand den del af vinduesdekoratøren og alt, hvad der synes for mig, at KDE er et skridt bag GNOME, og pas på, jeg er i bedste fald fan af KDE, kun at det ikke er svært for mig at indrømme noget, når det er sandt.

    3.    Txarran sagde han

      Uden at vide noget om det, er det, jeg dybest set har forstået, at nordlys (den motor, som Breeze bruger) nu giver problemer, fordi Kwin5 ikke længere bruger qwidget som i kwin4, og vinduerne opfører sig ikke det samme. I stedet bruger den QML og QTquick, der fungerer direkte med opengl, og det ser derfor ud til, at nogle eksisterende begrænsninger i qt 5.3 forhindrer den gamle motor og dens temaer i at fungere godt i den nye Kwin.

  2.   mat1986 sagde han

    Ville det være muligt at skabe (eller tilpasse) brise til den stil eller arbejdsmåde, som ilt har?

  3.   Ñandekuera sagde han

    Er der nogen der har nogen idé om hvad der vil ske med qtcurve?

    1.    Txarran sagde han

      Qtcurve-qt5 har fungeret perfekt i nogen tid. Den nye version af KDE følger som altid.

      1.    aiolia sagde han

        Det var allerede underligt for mig, at i Kaos, som altid er i spidsen for nutiden, testes Kf5, så det er kendt i Kaos linux plasma næste eller kde 5 ilt ville komme som standard. Wow, du vidste ikke, at du var skaberen af ​​Aurorae ...

        1.    Txarran sagde han

          Jeg er skaberen af ​​nordlys? O_o;

  4.   Sergio E. Duran sagde han

    Jeg oprettede en erstatning for brise også i nordlys kaldet næste frisk, som senere ville være bris frisk, men jeg kan ikke med tilpasningen af ​​SVG'erne til temaet, så dens udvikling er inaktiv, elav, hvis du har muligheden, jeg ville elske dig at vise det til ham. skaberen af ​​brise-temaet for at se, om de kan overføre ideen om min aurorae-dekoration til de oprindelige KDE-dekorationer som et alternativ til brise-dekorationen

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

  5.   eliotime3000 sagde han

    Jeg tror, ​​KDE 5 vil være på Fedora, Debian, Slackware og Arch, når jeg har familie og børn og er omkring 30 år gammel.

    Kort fortalt at fortsætte med at udnytte den lille ungdom, jeg har forladt.