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.
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
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.
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
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.
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.
Ville det være muligt at skabe (eller tilpasse) brise til den stil eller arbejdsmåde, som ilt har?
Er der nogen der har nogen idé om hvad der vil ske med qtcurve?
Qtcurve-qt5 har fungeret perfekt i nogen tid. Den nye version af KDE følger som altid.
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 ...
Jeg er skaberen af nordlys? O_o;
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
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.