يأتي GTK 4.0 مع تحسينات لأداء واجهات رسومية ونقل البيانات والمزيد

قبل بضعة أيام تم الإعلان عن إصدار النسخة الجديدة من GTK 4.0 ، الإصدار الذي كان قيد التطوير لعدة أشهر وأصبح الفرع الجديد المستقر للمشروع. يحتوي هذا الإصدار الجديد على ميزات شيقة للغاية ، يمكننا من خلالها إبراز التحسينات في تشغيل الوسائط.

GTK هي مجموعة من مكتبات البرامج لإنشاء واجهات رسوميةتم تطوير GTK في الأصل لتلبية احتياجات برنامج معالجة الصور GIMP. في الوقت الحالي ، لم يعد نطاقها يقتصر على GIMP فقط ، بل يتم استخدامه في مشاريع أخرى. على سبيل المثال ، GTK في قلب بيئة نموذج كائن شبكة جنو (جنوم) ، ولكن يمكن استخدامه أيضًا لكتابة تطبيقات لبيئات Linux الأخرى ، بالإضافة إلى تطبيقات Microsoft Windows و Apple macOS.

"GTK 4.0 هو نتيجة العمل الشاق لفريق صغير من المطورين المتفانين. سيكون لدينا مقال منفصل لاستعراض الإحصائيات ، ولكن الخلاصة السريعة هي أنه منذ نوفمبر 3.89.1 الإصدار 2016 ، أضفنا أكثر من 18,000 التزام وأصدرنا أكثر من 20 إصدارًا للتطوير.

"تهانينا وشكرًا كبيرًا لكل من شارك في هذا الجهد ، وعلى وجه الخصوص بنيامين وإيمانويل وتيم وكارلوس وجوناس وكريستيان! «

حول الإصدار الجديد من GTK 4.0

يقدم GTK 4.0 عناصر واجهة مستخدم جديدة وتغييرات على العناصر الموجودة ، دعم مدمج لتشغيل الوسائط ، وتحسينات في تسريع وحدة معالجة الرسومات ، مثل العمل على محرك عرض Vulkan الجديد ، وتوافق أفضل مع macOS. يمكننا أيضًا ملاحظة التحسينات في نقل البيانات ، والتظليل المعاد تصميمه ، والتمرير المتسارع لـ GPU ، والتحسينات في عرض OpenGL خارج عمل Vulkan ، واستعادة العمل في HTMl5 Broadway ، ودعم Windows بشكل أفضل وما إلى ذلك.

دعونا نلقي نظرة على بعض النقاط بمزيد من التفصيل.

إدارة الوسائط في GT4

  • سيسمح GTK 4 لتطبيقات GTK بعرض الرسوم المتحركة بسهولة أكبر ؛ سواء كانت رسومًا متحركة برمجية أو أرشيف ويب أو بثًا مباشرًا.
  • يجلب GTK 4 واجهة برمجة تطبيقات جديدة تسمى GdkPaintable مستوحاة من جهود CSS Houdini. إنه مرن للغاية (أي شيء يمكنك رسمه يمكن أن يكون GdkPaintable). يمكن تغيير حجم المحتوى (مثل svg) أو تغييره بمرور الوقت (مثل webm).
  • إذا كانت لديك احتياجات أكثر تخصصًا ، فيمكن تحويل أي شيء يمكن التقاطه في GtkSnapshot إلى رسم باستخدام gtk_snapshot_to_paintable (). إذا كنت تقوم بإنشاء عنصر واجهة مستخدم مخصص يريد رسم كائن لطلائه ، فهو بسيط للغاية. فقط اتصل بـ gdk_paintable_snapshot ().
  • يمكنك التحكم في الوسائط المتعددة باستخدام أداة GtkVideo.

نقل البيانات في GTK4

الطرق التقليدية لنقل البيانات يبدأ المستخدم بين تطبيقات سطح المكتب في الحافظة أو السحب والإفلات. تدعم GTK + هذه الطرق ، ولكن حتى GTK3 ، كانت واجهات برمجة التطبيقات في مجموعة الأدوات لهذا النوع من نقل البيانات عبارة عن نسخ مقنعة بدقة من واجهات برمجة تطبيقات X11 المقابلة. هذا ليس مفاجئًا للغاية ، حيث تم تصميم واجهة برمجة تطبيقات GDK بالكامل في X11. لسوء الحظ ، يتضمن التنفيذ نتائج مثل عمليات النقل المتزايدة وتحويلات تنسيق السلسلة.

بالنسبة إلى GTK4 ، قرر الفريق التخلي عن هذا النهج، واختيار التحديث. هذا هو مفهوم النهج الجديد:

"إذا كانت البيانات التي يريد التطبيق الخاص بك إرسالها ليست سلسلة ، فمن المحتمل أن تكون كائنًا ، مثل GFile أو GdkTexture أو GdkRGBA. قد لا يستخدم التطبيق الجانبي لجهاز الاستقبال GTK أو GLib وبالتالي لا يعرف هذه الأنواع. وحتى إذا قمت بذلك ، فلا توجد طريقة لنقل الأشياء من عملية إلى أخرى في قطعة واحدة.

"داخله ، يعمل نقل البيانات عن طريق إرسال واصف ملف من التطبيق المصدر والتطبيق الوجهة عن طريق قراءة دفق من البايت. تستخدم بروتوكولات الحافظة و DND أنواع mime مثل text / uri-list أو image / png أو application / x-color لتحديد تنسيق دفق البايت.

يتضمن إرسال كائن التفاوض على تنسيق بيانات متوافق على الوجهين ، وتسلسل الكائن على جانب المصدر إلى دفق بايت بهذا التنسيق ، ونقل البيانات ، وإلغاء تسلسل الكائن على جانب الوجهة. «

وبالإضافة إلى ذلك، GTK4 يأتي مع واجهات برمجة التطبيقات الجديدة.

أول واجهة برمجة تطبيقات نقدمها للتعامل مع هذه الأنواع هي كائن GdkContentFormats. يمكن أن يحتوي على قائمة من التنسيقات ، والتي يمكن أن تكون GTypes أو mime. نستخدم كائنات GdkContentFormats لوصف التنسيقات التي يمكن للتطبيق أن يقدم بها البيانات ، بالإضافة إلى التنسيقات التي يمكن للتطبيق أن يتلقى البيانات بها ".

مصدر: https://blog.gtk.org/


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.