عن المشروع
gpucontext هي مكتبة بنية تحتية مشتركة لنظام gogpu البيئي، صُممت لتسهيل مشاركة موارد GPU عبر حزم متعددة مع تجنب التبعيات الدائرية. وهي توفر مجموعة من الواجهات المحددة والخدمات المساعدة التي تسمح للمكونات المختلفة بالتفاعل مع أجهزة GPU، وأنظمة النوافذ، والميزات الخاصة بالمنصة.
تشمل القدرات الرئيسية ما يلي:
- إدارة موارد GPU: تتيح واجهة DeviceProvider حقن التبعيات لأجهزة GPU، والطوابير (queues)، والمهايئات (adapters)، مما يدعم المشاركة المحددة دون استخدام 'any'.
- تكامل النوافذ والمنصة: تتولى واجهات WindowProvider و PlatformProvider التعامل مع هندسة النوافذ، وتوسيع DPI، والوصول إلى الحافظة، وأشكال المؤشر، والكشف عن سمة النظام (الوضع الداكن).
- معالجة الأحداث: توفر EventSource و PointerEventSource واجهات لإدخالات لوحة المفاتيح والماوس واللمس، بما في ذلك دعم متخصص للغات CJK عبر واجهات IME (محرر طريقة الإدخال).
- أدوات الأنسجة (Texture Utilities): واجهة Texture بسيطة إلى جانب TextureUpdater و TextureRegionUpdater لعمليات رفع أنسجة GPU الكاملة أو الجزئية بكفاءة.
- تخصيص النوافذ: دعم WindowChrome للنوافذ بدون إطارات، واختبار الاصطدام المخصص لأشرطة العناوين، والتبديل إلى ملء الشاشة في وقت التشغيل.
- سجل الخلفيات (Backend Registry): سجل Registry[T] عام وآمن للخيوط (thread-safe) لاختيار الخلفيات بناءً على الأولوية.
تعمل المكتبة كجسر بين أنواع WebGPU منخفضة المستوى (عبر gputypes) وأطر العمل عالية المستوى مثل gogpu و gg و ui.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.