نسیم: چرا به طور پیش فرض در KDE 5 نمی آید؟

همانطور که قبلاً می دانیم ، KDE Next (یا همانطور که شما ترجیح می دهید KDE 5) چند روز پیش به صورت پایدار منتشر شد و در میان ویژگی های جدیدی که به ارمغان می آورد ، یکی از مورد بحث ترین ها آثار هنری جدید به نام Breeze است.

نسیم

کسانی که قبلاً این نسخه جدید را امتحان کرده اند یا فیلم را دیده اند ، ممکن است متوجه شده باشند که در مورد تزئینات پنجره ، آنچه به طور پیش فرض می آید اکسیژن است و نه نسیم. همچنین مارتین گرزلین ما را توضیح می دهد در وبلاگ او دلیل این تصمیم چیست

از آنجا که مقاله به زبان انگلیسی است ، سعی خواهم کرد ایده اساسی این موضوع را برای شما بیاورم.

چرا نسیم به طور پیش فرض نمی آید؟

من با توضیح نحوه کار تزئینات پنجره در KWin 4 شروع می کنم. KWin اصطلاحاً والدین مجدد مدیران پنجره است. این بدان معنی است که پنجره ای که توسط X11 مدیریت می شود در یک پنجره X11 دیگری قرار می گیرد که قاب پنجره را فراهم می کند. در KWin ما از QWidget برای قاب پنجره استفاده می کنیم. بنابراین ما همچنین به آنچه QWidget به ما ارائه می دهد محدود می شویم ... راه حل ما این است که همه وقایع نقاشی دکوراسیون را در QWidget رهگیری کرده و آن را سرکوب کنیم ، رنگ آمیزی مجدد آهنگساز را آغاز کنیم و در مرحله رندر تزئین یک تصویر موقت را که کپی می شود تضمین کنیم. به یک بافت تبدیل شود.


تزئینات پنجره تم Breeze بر اساس موتور تم Aurorae ساخته شده است. از آنجا که من نویسنده اصلی Aurorae هستم ، می توانم آن را در این پست وبلاگ قرار دهم بدون اینکه از آن احساس بدی داشته باشم ... Aurorae به گونه ای طراحی شده است که ایجاد دکوراسیون و استفاده از ویژگی های جدید شفافیت بسیار آسان است. یک راه حل بودن که می تواند به عنوان یک تزئین پیش فرض مورد استفاده قرار گیرد ، اما هرگز هدف آنها نبود. ایده این بود که به کاربرانی که خواهان شخصی سازی این ویژگی هستند اجازه داده شود ، در حالی که اکثر کاربران می توانند از تم های بومی سریعتر استفاده کنند. شفق قطبی هرگز سریع نبوده و سریع نخواهد بود.


اکنون در KWin 5 ، استفاده از QML اصلی ترین مشکلی است که استفاده از شفق قطبی را دشوار می کند. QtQuick از Scenegraph استفاده می کند و به جای QWidget از QWindows استفاده می کند. این یک مشکل برای API مبتنی بر QWidget است. ما کاربرد داخلی را برای پشتیبانی از تزئینات مبتنی بر QWindows تنظیم کردیم ، اما این یک جاده کاملا دشوار بود زیرا تفاوت هایی در رفتار پنجره ها وجود دارد. از آنجا که دیگر مبتنی بر QWidget نیست ، به دام انداختن رویداد رنگی ما خراب است و ما به یک راه حل جدید برای آن نیاز داشتیم. و این راه حل حتی زشت تر از راه حل قبلی است زیرا QtQuick در حال حاضر از طریق OpenGL کار می کند. به دلیل محدودیت هایی که در برنامه OpenGL Qt وجود دارد (که می تواند در Qt 5.4 مطرح شود) که ما نمی توانیم آن را با متن OpenGL استفاده شده توسط QtQuick به اشتراک بگذاریم ... این فقط یک هزینه اضافی بزرگ هنگام کپی کردن محتوا از GPU به RAM و بازگشت دوباره به GPU ، شما همچنین حافظه زیادی را از دست می دهید. در صورت داشتن یک پنجره حداکثر ، این فقط نوار عنوان نیست ، بلکه کل پنجره است. و این سربار برای هر پنجره وجود دارد.


این به تنهایی می تواند شفق قطبی را کاملاً غیر قابل استفاده کند. من در حال حاضر از موضوع Breeze استفاده می کنم و KWin به بیش از 200 مگابایت RAM نیاز دارد - در واقع قابل قبول نیست. اما وضعیت حتی بدتر است. با QWindows نمی توانیم بفهمیم کدام مناطق به روز شده اند. بنابراین وقتی به عنوان مثال یک دکمه به روز می شود ، باید کل پنجره را از جمله نسخه کامل محتوای دکوراسیون را رنگ کنیم. که به ویژه در موقعیت های انیمیشن یک مشکل بزرگ است.


راه پیش رو چیست؟ من با حذف محدودیت در دکوراسیون مبتنی بر رفاه QWidget شروع به اجرای دکوراسیون جدید برای API کردم و همزمان شروع به اجرای دکوراسیون Breeze با این API جدید کردم. امیدوارم که بتوانیم این مورد را در KWin 5.1 معرفی کنیم.


و آقایان همین اوضاع را دارند. امیدوارم کم و بیش بفهمید مشکل چیست. من می خواهم از مارتین س askال کنم که آیا ساختن موضوع نسیم بومی مانند اکسیژن عملی تر و سریعتر نیست ، اگرچه در حال حاضر من نگران نیستم ، اکسیژن گرچه کوتاهترین چیز در جهان نیست ، اما گزینه های زیادی دارد ..


محتوای مقاله به اصول ما پیوست اخلاق تحریریه. برای گزارش یک خطا کلیک کنید اینجا.

11 نظر ، نظر خود را بگذارید

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.

  1.   ایوانبارام dijo

    من همه چیز را خواندم ، اما چیزی نفهمیدم ، امروز کند هستم. به هر حال ، من هنوز نمی توانم KDE 5 را در OpenSUSE 13.1 امتحان کنم. این مرا از بین می برد به دلیل برخی وابستگی های "قدیمی" که دارم.
    شاید با یک سیستم عامل دیگر در یک سیستم مجازی یک فرصت دیگر به شما بدهم.

    با سلام و تشکر از اطلاعات شما.

    1.    نانو dijo

      این آسان نیست ، در اصل سعی می شود توضیح دهد که نحوه انجام پیاده سازی ها پیچیده است ، به خصوص برای پلاگین ها و در واقع شفق قطبی آهسته است ، بسیار بیشتر از اکسیژن.

      من نمی دانم ، از این لحاظ ، در بخشی از تزئینگر پنجره و همه چیزهایی که به نظر من می رسد

    2.    نانو dijo

      این آسان نیست ، در اصل سعی می شود توضیح دهد که نحوه انجام پیاده سازی ها پیچیده است ، به خصوص برای پلاگین ها و در واقع شفق قطبی آهسته است ، بسیار بیشتر از اکسیژن.

      من نمی دانم ، از این لحاظ ، در بخشی از تزئین کننده پنجره و همه چیزهایی که به نظر من می رسد KDE یک قدم عقب تر از GNOME است ، و مراقب باشید ، من در بهترین حالت طرفدار KDE هستم ، فقط برای من سخت نیست تا وقتی چیزی درست است اعتراف کرد

    3.    تگزاران dijo

      بدون اینکه چیزی در این باره بدانم ، آنچه که من اساساً فهمیده ام این است که شفق قطبی (موتوری که Breeze استفاده می کند) اکنون مشکلاتی را ایجاد می کند زیرا Kwin5 دیگر از qwidget مانند kwin4 استفاده نمی کند و پنجره ها رفتار مشابهی ندارند. در عوض از QML و QTquick استفاده می کند که مستقیماً با opengl کار می کند و بنابراین به نظر می رسد برخی محدودیت های موجود در qt 5.3 از عملکرد خوب موتور قدیمی و مضامین آن در Kwin جدید جلوگیری می کند.

  2.   mat1986 dijo

    آیا ایجاد (یا انطباق) نسیم با سبک یا روش کار اکسیژن امکان پذیر است؟

  3.   ekuandekuera dijo

    کسی ایده ای دارد که qtcurve چه اتفاقی خواهد افتاد؟

    1.    تگزاران dijo

      مدتی است که Qtcurve-qt5 کاملاً کار می کند. نسخه جدید KDE مانند همیشه دنبال خواهد شد.

      1.    آئوریا dijo

        از قبل برای من عجیب بود که در Kaos ، که همیشه در صف مقدم حال حاضر است ، Kf5 را آزمایش می کند ، بنابراین مشخص است که در Kaos linux plasma next یا kde 5 اکسیژن به طور پیش فرض می آید. وای ، شما نمی دانید که شما خالق شفق قطبی هستید ...

        1.    تگزاران dijo

          من خالق شفق قطبی هستم؟ O_o ؛

  4.   سرجیو ای. دوران dijo

    من در حال ایجاد جایگزینی برای نسیم بودم ، همچنین در شفق هایی به نام "بعدی تازه" که بعداً نسیم تازه خواهد بود ، اما من نمی توانم با سازگاری SVG ها با موضوع ، بنابراین توسعه آن غیرفعال است ، الا اگر فرصتی دارید من دوست دارم شما آن را به او خالق تم نسیم نشان دهید تا ببینید آیا آنها می توانند ایده دکوراسیون شفق های من را به تزئینات KDE بومی به عنوان جایگزینی برای تزئین نسیم منتقل کنند یا نه

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

  5.   eliotime3000 dijo

    من فکر می کنم وقتی خانواده و بچه داشته باشم و حدود 5 سال سن داشته باشم KDE 30 روی Fedora ، Debian ، Slackware و Arch خواهد بود.

    به طور خلاصه ، برای ادامه استفاده از جوانی کمی که برای من باقی مانده است.