Bris: Varför kommer det inte som standard i KDE 5?

Som vi redan vet släpptes KDE Next (eller KDE 5 som du föredrar) som stabilt för några dagar sedan och bland de nya funktionerna som det ger är en av de mest omtalade det nya konstverket som heter Breeze.

Breeze

De som redan har provat den här nya versionen eller har sett videon kanske har märkt att i fallet med fönsterdekoratorn är den som kommer som standard syre och inte bris. Också Martin Gräßlin förklarar oss på sin blogg vad är anledningen till detta beslut.

Eftersom artikeln är på engelska kommer jag att försöka ge dig den grundläggande idén om detta.

Varför kommer inte Breeze som standard?

Jag börjar med en förklaring av hur fönsterdekorationer fungerar i KWin 4. KWin är den så kallade re-parenting till fönsterhanterare. Detta innebär att fönstret som hanteras av X11 placeras i ett annat X11-fönster som ger fönsterramen. På KWin använder vi QWidget för fönsterramen. Därför är vi också begränsade till vad QWidget ger oss ... Vår lösning är att fånga upp alla dekorationsmålningshändelser i QWidget och undertrycka den, utlösa en ommålning av kompositören och i återgivningssteget garantera dekorationen av en tillfällig bild som då kopieras till en struktur.


Breeze temafönster dekoration är baserad på Aurorae tema motor. Eftersom jag är huvudförfattare till Aurorae kan jag göra det i det här blogginlägget utan att känna mig dålig om det 🙂 Aurorae var utformat för att vara väldigt enkelt att skapa en dekoration och använda de nya genomskinlighetens funktioner. Att vara en lösning som kan användas som standarddekoration, men det var aldrig deras mål. Tanken var att tillåta användare som vill anpassa den här funktionen, medan de flesta användare kan använda inhemska teman som är snabbare. Aurorae var aldrig snabb och hon kommer inte att vara snabb.


Nu i KWin 5 är användningen av QML det största problemet som gör Aurorae svårt att använda. QtQuick använder Scenegraph och använder QWindows istället för QWidget. Det är en bummel för vårt QWidget-baserade API. Vi justerade den interna användningen för att stödja QWindows-baserade dekorationer, men det var ganska svårt eftersom det finns skillnader i fönstrenas beteende. Eftersom det inte längre är baserat på QWidget är vår färghändelse fångad och vi behövde en ny lösning för det. Och den här lösningen är ännu fulare än den tidigare eftersom QtQuick för närvarande arbetar genom OpenGL. På grund av begränsningar i OpenGL Qt-applikationen (kan adresseras i Qt 5.4) som vi inte kan dela med OpenGL-sammanhanget som används av QtQuick ... Detta är inte bara en enorm kostnad när du kopierar innehållet från GPU till RAM och tillbaka igen till GPU förlorar du också mycket minne. Vid ett maximerat fönster är det inte bara titelraden utan hela fönstret. Och det finns den overhead för varje fönster.


Det ensamma kan göra Aurorae helt oanvändbar. Jag använder för närvarande Breeze-temat och KWin behöver mer än 200 MB RAM - inte riktigt acceptabelt. Men situationen är ännu värre. Med QWindows kan vi inte veta vilka områden som har uppdaterats. Så när till exempel en knapp uppdateras måste vi måla om hela fönstret, inklusive den fullständiga kopian av dekorationsinnehållet. Särskilt i animationssituationer är det ett stort problem.


Så vad är vägen framåt? Jag började implementera en ny dekoration för API genom att ta bort begränsningen av den välbefinnande dekorationen från QWidget och samtidigt började jag implementera Breeze-dekorationen med detta nya API. Hoppas vi kan introducera detta i KWin 5.1.


Och så är det, herrar. Jag hoppas att du förstår mer eller mindre vad problemet är. Jag kommer att fråga Martin om det inte är mer praktiskt och snabbare att göra det inhemska Breeze-temat som Oxygen, även om jag för närvarande inte är orolig, Oxygen även om det inte är den sötaste saken i världen, det har många alternativ ..


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   ivanbarram sade

    Jag läste allt, men jag förstod ingenting, jag är långsam idag. Hur som helst kan jag fortfarande inte testa KDE 5 på min OpenSUSE 13.1. Det bryter mig på grund av vissa "gamla" beroenden jag har.
    Kanske ger jag dig ytterligare en chans med ett annat operativsystem i ett virtuellt.

    Hälsningar och tack för inmatningen.

    1.    nano sade

      Det är inte lätt, det försöker i princip förklara att sättet att göra implementeringarna är komplext, särskilt för plugins och att i huvudsak auroror är LÅNGA, mycket mer än syre.

      Jag vet inte, i den meningen, i den del av fönsterdekoratören och allt som jag tycker det

    2.    nano sade

      Det är inte lätt, det försöker i princip förklara att sättet att göra implementeringarna är komplext, särskilt för plugins och att i huvudsak auroror är LÅNGA, mycket mer än syre.

      Jag vet inte, i den meningen, i den del av fönsterdekoratören och allt som verkar för mig att KDE är ett steg bakom GNOME, och var försiktig, jag är ett fan av KDE till fullo, bara att det inte är svårt för mig att erkänna något när det är sant.

    3.    Txarran sade

      Utan att veta någonting om det, har jag i princip förstått att norrsken (den motor som Breeze använder) nu ger problem eftersom Kwin5 inte längre använder qwidget som i kwin4 och fönstren inte beter sig på samma sätt. Istället använder den QML och QTquick som fungerar direkt med opengl och därför verkar det som om vissa befintliga begränsningar i qt 5.3 förhindrar att den gamla motorn och dess teman inte fungerar bra i nya Kwin.

  2.   mat1986 sade

    Skulle det vara möjligt att skapa (eller anpassa) Breeze till den stil eller arbetssätt som syre har?

  3.   Ñandekuera sade

    Någon som har någon aning om vad som kommer att hända med qtcurve?

    1.    Txarran sade

      Qtcurve-qt5 har fungerat perfekt under en längre tid. Den nya versionen av KDE kommer att följa som alltid.

      1.    aiolia sade

        Det var redan konstigt för mig att i Kaos, som alltid ligger i spetsen för nuvarande, testar Kf5 så det är känt i Kaos linux plasma nästa eller kde 5 syre skulle komma som standard. Wow, du visste inte att du var skaparen av Aurorae ...

        1.    Txarran sade

          Jag är skaparen av norrsken? O_o;

  4.   Sergio E. Duran sade

    Jag skapade en ersättning för bris även i norrsken som kallas nästa färska som senare skulle vara bris fräsch men jag kan inte med anpassningen av SVG: erna till temat så dess utveckling är inaktiv, elav om du har möjlighet skulle jag älska dig att visa det för honom skapare av brisen-temat för att se om de kan överföra tanken på min aurorae-dekoration till de inhemska KDE-dekorationerna som ett alternativ till vinddekorationen

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

  5.   eliotime3000 sade

    Jag tror att KDE 5 kommer att finnas på Fedora, Debian, Slackware och Arch när jag har familj och barn och är cirka 30 år gammal.

    Kort sagt, att fortsätta dra nytta av den lilla ungdom jag har kvar.