Breeze: ทำไมมันไม่มาโดยค่าเริ่มต้นใน KDE 5?

อย่างที่เราทราบกันดีอยู่แล้วว่า KDE Next (หรือ KDE 5 ตามที่คุณต้องการ) ได้รับการเผยแพร่เมื่อไม่กี่วันที่ผ่านมาและในบรรดาคุณสมบัติใหม่ที่นำมานั้นหนึ่งในงานศิลปะใหม่ที่เรียกว่า Breeze

ลมโชย

ผู้ที่ได้ลองใช้เวอร์ชันใหม่นี้แล้วหรือเคยเห็นวิดีโออาจสังเกตเห็นว่าในกรณีของตัวตกแต่งหน้าต่างสิ่งที่มาโดยค่าเริ่มต้นคือ Oxygen ไม่ใช่ Breeze เช่นกัน Martin Gräßlin อธิบายเรา ในบล็อกของเขา เหตุผลในการตัดสินใจครั้งนี้คืออะไร

เนื่องจากบทความเป็นภาษาอังกฤษฉันจะพยายามให้แนวคิดพื้นฐานของเรื่องนี้กับคุณ

ทำไมบรีสถึงไม่มาโดยปริยาย?

ฉันเริ่มต้นด้วยคำอธิบายว่าการตกแต่งหน้าต่างทำงานอย่างไรใน KWin 4 KWin คือการเลี้ยงดูใหม่ของผู้จัดการหน้าต่าง ซึ่งหมายความว่าหน้าต่างที่จัดการ X11 จะถูกใส่ลงในหน้าต่าง X11 อื่นที่มีกรอบหน้าต่าง ที่ KWin เราใช้ QWidget สำหรับกรอบหน้าต่าง ดังนั้นเราจึงถูก จำกัด ไว้ที่สิ่งที่ QWidget มอบให้กับเรา ... วิธีแก้ปัญหาของเราคือสกัดกั้นเหตุการณ์การทาสีตกแต่งทั้งหมดใน QWidget และระงับมันทำให้เกิดการทาสีใหม่ของผู้แต่งและในขั้นตอนการเรนเดอร์รับประกันการตกแต่งภาพชั่วคราวที่จะถูกคัดลอก เป็นเนื้อ


การตกแต่งหน้าต่างธีม Breeze ใช้เครื่องยนต์ธีม Aurorae ในฐานะที่ฉันเป็นผู้เขียนนำของ Aurorae ฉันสามารถอ่านบทความนี้ได้ในบล็อกโพสต์นี้โดยไม่รู้สึกแย่กับเรื่องนี้🙂 Aurorae ได้รับการออกแบบมาให้ง่ายต่อการสร้างการตกแต่งและใช้ประโยชน์จากคุณสมบัติความโปร่งแสงใหม่ ๆ เป็นโซลูชันที่สามารถใช้เป็นของตกแต่งเริ่มต้น แต่ไม่เคยเป็นเป้าหมายของพวกเขา แนวคิดคืออนุญาตให้ผู้ใช้ที่ต้องการปรับแต่งคุณลักษณะนี้ในขณะที่ผู้ใช้ส่วนใหญ่สามารถใช้ธีมเนทีฟที่เร็วกว่าได้ Aurorae ไม่เคยเร็วและเธอจะไม่เร็ว


ตอนนี้ใน KWin 5 การใช้ QML เป็นปัญหาหลักที่ทำให้ Aurorae ใช้งานยาก QtQuick ใช้ Scenegraph และใช้ QWindows แทน QWidget นั่นเป็นเรื่องน่าเบื่อสำหรับ API ที่ใช้ QWidget ของเรา เราปรับการใช้งานภายในเพื่อรองรับการตกแต่งที่ใช้ QWindows แต่นั่นเป็นถนนที่ค่อนข้างลำบากเนื่องจากมีความแตกต่างในลักษณะการทำงานของหน้าต่าง เนื่องจากไม่ได้ใช้ QWidget อีกต่อไปการดักจับเหตุการณ์สีของเราจึงใช้งานไม่ได้และเราจึงต้องการโซลูชันใหม่สำหรับมัน และโซลูชันนี้ดูน่าเกลียดกว่าก่อนหน้านี้เนื่องจาก QtQuick กำลังทำงานผ่าน OpenGL เนื่องจากข้อ จำกัด ในแอปพลิเคชัน OpenGL Qt (สามารถแก้ไขได้ใน Qt 5.4) ที่เราไม่สามารถแชร์กับบริบท OpenGL ที่ QtQuick ใช้ ... นี่ไม่ใช่แค่ค่าใช้จ่ายจำนวนมากเมื่อคัดลอกเนื้อหาจาก GPU ไปยัง RAM และกลับไปที่ GPU คุณยังเปลืองหน่วยความจำมาก ในกรณีของหน้าต่างที่ขยายใหญ่สุดจะไม่ใช่แค่แถบหัวเรื่องเท่านั้น แต่ยังรวมถึงหน้าต่างทั้งหมดด้วย และมีค่าใช้จ่ายสำหรับทุกหน้าต่าง


สิ่งนั้นเพียงอย่างเดียวสามารถทำให้ Aurorae ใช้งานไม่ได้โดยสิ้นเชิง ฉันกำลังใช้ธีม Breeze และ KWin ต้องการ RAM มากกว่า 200MB ซึ่งไม่สามารถยอมรับได้จริงๆ แต่สถานการณ์ยิ่งเลวร้ายลง ด้วย QWindows เราไม่สามารถทราบได้ว่าพื้นที่ใดได้รับการอัปเดต ตัวอย่างเช่นเมื่อมีการอัปเดตปุ่มเราต้องทาสีใหม่ทั้งหน้าต่างรวมทั้งสำเนาเนื้อหาการตกแต่งทั้งหมดด้วย โดยเฉพาะอย่างยิ่งในสถานการณ์ภาพเคลื่อนไหวเป็นปัญหาใหญ่


แล้วหนทางข้างหน้าจะเป็นอย่างไร? ฉันเริ่มใช้การตกแต่งใหม่สำหรับ API โดยลบข้อ จำกัด ในการตกแต่ง QWidget ตามความเป็นอยู่ที่ดีและในขณะเดียวกันฉันก็เริ่มใช้การตกแต่ง Breeze ด้วย API ใหม่นี้ หวังว่าเราจะสามารถแนะนำสิ่งนี้ใน KWin 5.1


และนั่นคือสิ่งที่เป็นสุภาพบุรุษ หวังว่าคุณจะเข้าใจไม่มากก็น้อยว่าปัญหาคืออะไร ฉันจะถามมาร์ตินว่ามันใช้งานไม่ได้จริงหรือเร็วกว่าที่จะทำให้ธีม Breeze แบบดั้งเดิมเช่น Oxygen แม้ว่าในขณะนี้ฉันไม่ได้กังวล Oxygen แม้ว่ามันจะไม่ใช่สิ่งที่น่ารักที่สุดในโลก แต่ก็มีจำนวนมาก ตัวเลือก ..


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   อีวานบาร์รัม dijo

    ฉันอ่านทุกอย่าง แต่ฉันไม่เข้าใจอะไรเลยวันนี้ฉันช้า อย่างไรก็ตามฉันยังไม่สามารถทดสอบ KDE 5 บน OpenSUSE 13.1 ของฉันได้ มันทำให้ฉันพังเพราะการพึ่งพา "เก่า" บางอย่างที่ฉันมี
    บางทีฉันจะให้โอกาสคุณอีกครั้งกับระบบปฏิบัติการอื่นในระบบเสมือน

    ทักทายและขอบคุณสำหรับข้อมูล

    1.    นาโน dijo

      ไม่ใช่เรื่องง่ายโดยทั่วไปจะพยายามอธิบายว่าวิธีการใช้งานนั้นซับซ้อนโดยเฉพาะอย่างยิ่งสำหรับปลั๊กอินและโดยพื้นฐานแล้วออโรร่านั้นช้ากว่าออกซิเจนมาก

      ฉันไม่รู้ในแง่นี้ในส่วนของตัวตกแต่งหน้าต่างและสิ่งที่ดูเหมือนกับฉัน

    2.    นาโน dijo

      ไม่ใช่เรื่องง่ายโดยทั่วไปจะพยายามอธิบายว่าวิธีการใช้งานนั้นซับซ้อนโดยเฉพาะอย่างยิ่งสำหรับปลั๊กอินและโดยพื้นฐานแล้วออโรร่านั้นช้ากว่าออกซิเจนมาก

      ฉันไม่รู้ในแง่นี้ในส่วนของตัวตกแต่งหน้าต่างและสิ่งที่ดูเหมือนสำหรับฉันว่า KDE เป็นก้าวที่อยู่เบื้องหลัง GNOME และระวังฉันเป็นแฟนของ KDE อย่างเต็มที่เพียง แต่มันไม่ยากสำหรับ ฉันต้องยอมรับบางสิ่งเมื่อมันเป็นความจริง

    3.    Txarran dijo

      โดยไม่รู้อะไรเกี่ยวกับเรื่องนี้สิ่งที่ฉันเข้าใจโดยทั่วไปคือแสงออโรร่า (เครื่องยนต์ที่ Breeze ใช้) ทำให้เกิดปัญหาเนื่องจาก Kwin5 ไม่ใช้ qwidget เหมือนใน kwin4 อีกต่อไปและหน้าต่างก็ไม่ทำงานเหมือนเดิม แต่จะใช้ QML และ QTquick ที่ทำงานโดยตรงกับ opengl ดังนั้นจึงดูเหมือนว่าข้อ จำกัด บางอย่างที่มีอยู่ใน qt 5.3 จะป้องกันไม่ให้เอ็นจิ้นเก่าและธีมของมันทำงานได้ไม่ดีใน Kwin ใหม่

  2.   mat1986 dijo

    เป็นไปได้ไหมที่จะสร้าง (หรือดัดแปลง) Breeze ให้เข้ากับรูปแบบหรือวิธีการทำงานที่ Oxygen มี?

  3.   อันเดคูเอรา dijo

    ใครมีความคิดว่าจะเกิดอะไรขึ้นกับ qtcurve?

    1.    Txarran dijo

      Qtcurve-qt5 ทำงานได้อย่างสมบูรณ์แบบมาระยะหนึ่งแล้ว KDE เวอร์ชันใหม่จะตามมาเช่นเคย

      1.    ไอโอเรีย dijo

        มันแปลกอยู่แล้วสำหรับฉันที่ใน Kaos ซึ่งมักจะอยู่แถวหน้าของปัจจุบันการทดสอบ Kf5 จึงเป็นที่รู้จักใน Kaos linux plasma next หรือ kde 5 oxygen มาโดยปริยาย ว้าวคุณไม่รู้ว่าคุณเป็นผู้สร้าง Aurorae ...

        1.    Txarran dijo

          ฉันเป็นผู้สร้างแสงออโรร่า? O_o;

  4.   Sergio E. Duran dijo

    ฉันกำลังสร้างสิ่งทดแทนสำหรับสายลมในแสงออโรร่าที่เรียกว่า next fresh ซึ่งจะสดชื่นในภายหลัง แต่ฉันไม่สามารถปรับ SVG ให้เข้ากับธีมได้ดังนั้นการพัฒนาจึงไม่ได้ใช้งาน Elav ถ้าคุณมีโอกาสฉันจะรักคุณ เพื่อแสดงให้เขาเห็นผู้สร้างธีมสายลมเพื่อดูว่าพวกเขาสามารถถ่ายทอดไอเดียการตกแต่งแสงออโรร่าของฉันไปสู่การตกแต่งแบบดั้งเดิมของ KDE เพื่อเป็นทางเลือกในการตกแต่งแบบสายลมได้หรือไม่

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

  5.   Eliotime3000 dijo

    ฉันคิดว่า KDE 5 จะอยู่ใน Fedora, Debian, Slackware และ Arch เมื่อฉันมีครอบครัวและลูก ๆ และอายุประมาณ 30 ปี

    ในระยะสั้นเพื่อใช้ประโยชน์จากเด็กเล็ก ๆ ที่ฉันเหลืออยู่ต่อไป