کتابخانه Android Jetpack WebGPU اتصالات کاتلین اصطلاحی را برای استاندارد WebGPU فراهم میکند و امکان گرافیک سهبعدی مدرن و با کارایی بالا و قابلیتهای محاسباتی را در برنامههای اندروید شما فراهم میکند.
WebGPU جانشین WebGL و نواده معنوی OpenGL است که از پایه ساخته شده تا منعکس کننده نحوه عملکرد GPU های مدرن باشد و قابلیت های GPU را به روشی چند پلتفرمی، ایمن و ارگونومیک ارائه دهد.
چرا وب جیپییو؟
- قابلیت استفاده ساده : در حالی که Vulkan رابط برنامهنویسی گرافیکی سطح پایین اصلی در اندروید است، WebGPU یک رابط برنامهنویسی گرافیکی مدرن و سطح بالاتر ارائه میدهد که در مقایسه با Vulkan قابل فهمتر و به طور قابل توجهی سادهتر است.
- دستهبندی و سریالسازی WebGPU چندین دستور را در Command Bufferها ثبت میکند، که بخشی از طراحی آن برای به حداقل رساندن حجم زیاد پروتکل است. این امر همچنین نیاز به فراخوانی متدهای خارجی هنگام استفاده از اتصالات Kotlin را به حداقل میرساند.
- پشتیبانی جهانی : کد سایهزن WebGPU (WGSL) میتواند مستقیماً در پیادهسازیهای WebGPU در پلتفرمهای مختلف، از جمله وب، به اشتراک گذاشته شود.
- محاسبات بهینه : اشتراکگذاری یکپارچه و بدون کپی بافر بین وظایف محاسباتی و گرافیکی، عملکرد را افزایش داده و توسعه را در مقایسه با APIهای قدیمی ساده میکند.
این کتابخانه برای چه کسانی است؟
این کتابخانه برای ساخت برنامههای کاربردی با کارایی بالا که نیاز به دسترسی مستقیم به پردازنده گرافیکی (GPU) دارند، طراحی شده است:
- فیلترهای پردازش تصویر و ویدئو
- تجسم دادهها
- استنتاج یادگیری ماشین
- بازیها و شبیهسازیها
غیر اهداف : این یک API گرافیکی است، نه یک موتور بازی. شما مسئول مدیریت حلقه رندر، ماتریسهای دوربین و نمودار صحنه خود هستید.
مفاهیم اصلی WebGPU
درک اشیاء بنیادی WebGPU و نحوه تعامل آنها برای توسعه WebGPU ضروری است.
مفهوم | توضیحات |
نمونه | نقطه ورود به WebGPU، که به آداپتورها و سطوح دسترسی میدهد |
آداپتور | نشان دهنده یک پردازنده گرافیکی خاص روی دستگاه است |
دستگاه | اتصال منطقی شما به پردازنده گرافیکی (GPU) که منابع در آن ایجاد میشوند |
صف | مکانیزم مورد استفاده برای ارسال دستورات به پردازنده گرافیکی (GPU) |
ماژول سایهزن | کد GPU شما، نوشته شده با زبان سایهزنی WebGPU (WGSL) |
خطوط لوله | اشیاء توصیف کننده کل حالت GPU (شیدها، ترکیب) برای یک کار |
اتصال گروهها | بافرهای داده (مثلاً بافتها) را به سایهزنها متصل میکند |
رمزگذار فرمان | شیء مورد استفاده برای ساخت دنبالهای از دستورات GPU در یک بافر دستور |