موارد جدید در WebGPU (Chrome 141)، موارد جدید در WebGPU (Chrome 141)

فرانسوا بوفور
François Beaufort

منتشر شده: ۲۴ سپتامبر ۲۰۲۵

رنگ IR تکمیل شد

یک پروژه طولانی مدت (بیش از ۲.۵ سال) برای افزایش عملکرد بخش‌های داخلی Tint، یعنی کامپایلر WGSL، تکمیل شده است. یک نمایش میانی (IR) در backend بین درخت نحوی انتزاعی (AST) فعلی و مولدهای کد backend قرار داده شد. معرفی IR به تیم کروم اجازه داد تا تمام تبدیل‌های AST را حذف کرده و آنها را به عنوان تبدیل‌های IR که به دلیل تفاوت‌های معماری، به طور قابل توجهی سریع‌تر هستند، دوباره ایجاد کند. بخش‌های داخلی Tint، در برخی از پلتفرم‌ها، تا هفت برابر بهبود سرعت را به دلیل این تغییرات تجربه کردند.

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

از این نقطه عطف، تمام مولدهای کد backend از نمایش IR کار می‌کنند، تمام تبدیل‌های AST حذف شده‌اند و تمام کدهای پشتیبانی AST برای اجرای تبدیل‌ها نیز حذف شده‌اند.

به عنوان بخشی از کار بهبود IR، رابط کاربری SPIR-V (که توسط برنامه‌ها برای تبدیل SPIR-V به WGSL استفاده می‌شود) از تولید نمایش AST به تولید مستقیم به IR تبدیل شد. این بهبود همچنین ویژگی‌های مورد انتظار طولانی مانند پشتیبانی از float 16 را به رابط کاربری SPIR-V اضافه می‌کند.

تحلیل محدوده اعداد صحیح در کامپایلر WGSL

تیم کروم به تدریج در حال ارائه یک تحلیل محدوده صحیح جدید برای Tint، کامپایلر زبان سایه‌زن WebGPU، است. تحلیل محدوده صحیح، حداقل و حداکثر مقادیری را که یک متغیر صحیح می‌تواند در طول اجرای برنامه بگیرد، بدون اجرای واقعی برنامه، تخمین می‌زند.

این ویژگی با کاهش نیاز به بررسی پرهزینه‌ی مرزها، قصد دارد کارایی را بهبود بخشد و به زودی به طور پیش‌فرض در تمام پلتفرم‌ها فعال خواهد شد. به شماره ۳۴۸۷۰۱۹۵۶ مراجعه کنید.

به‌روزرسانی SPIR-V 1.4 برای رابط کاربری Vulkan

پشتیبانی از SPIR-V 1.4 در دستگاه‌های اندروید و ChromeOS در صورت وجود ارائه می‌شود. این به‌روزرسانی Tint، کامپایلر WGSL، را قادر می‌سازد تا از ویژگی‌ها، اصلاحات و دستورالعمل‌های جدید SPIR-V برای تولید کد کارآمدتر در سناریوهای خاص هنگام کامپایل سایه‌زن‌های Vulkan بهره ببرد. به شماره ۴۲۷۷۱۷۲۶۷ مراجعه کنید.

به‌روزرسانی‌های سپیده‌دم

هدر استاندارد webgpu.h ، که هسته API WebGPU C را تعریف می‌کند، اکنون بالاخره پایدار در نظر گرفته می‌شود. این پایداری به طور خاص برای API اصلی تعریف شده در بالادست اعمال می‌شود، و شامل افزونه‌های پیاده‌سازی (به عنوان مثال، از Dawn یا Emdawnwebgpu) نمی‌شود، بنابراین بهتر است از webgpu.h ارائه شده توسط پیاده‌سازی دقیقی که به آن لینک می‌دهید استفاده کنید. در حالی که هدر پایدار است، ممکن است همچنان با تفاوت‌های ناخواسته بین پیاده‌سازی‌ها مواجه شوید، زیرا ما همچنان به رفع اشکالات و رسیدگی به سازگاری در سراسر اکوسیستم ادامه می‌دهیم. در صورت بروز چنین مشکلی، یک باگ ثبت کنید .

به لطف مشارکت‌کننده‌ی خارجی، ویلیام کاندیلون ، اکنون می‌توانید فایل‌های باینری از پیش ساخته شده‌ی داون را به عنوان مصنوعات در GitHub Actions پیدا کنید. این مصنوعات شامل فایل‌های استاتیک .lib برای اندروید، یک بسته‌ی .XCFramework برای اپل و تمام فایل‌های هدر لازم هستند. به Dawn PR #39 و نمونه‌ای از مصنوعات مراجعه کنید.

این فقط برخی از نکات برجسته کلیدی را پوشش می‌دهد. لیست جامع کامیت‌ها را بررسی کنید.

ویژگی‌های جدید WebGPU

فهرستی از تمام مواردی که در مجموعه «ویژگی‌های جدید WebGPU» پوشش داده شده است.

کروم ۱۴۲

کروم ۱۴۱

کروم ۱۴۰

کروم ۱۳۹

کروم ۱۳۸

کروم ۱۳۷

کروم ۱۳۶

کروم ۱۳۵

کروم ۱۳۴

کروم ۱۳۳

کروم ۱۳۲

کروم ۱۳۱

کروم ۱۳۰

کروم ۱۲۹

کروم ۱۲۸

کروم ۱۲۷

کروم ۱۲۶

کروم ۱۲۵

کروم ۱۲۴

کروم ۱۲۳

کروم ۱۲۲

کروم ۱۲۱

کروم ۱۲۰

کروم ۱۱۹

کروم ۱۱۸

کروم ۱۱۷

کروم ۱۱۶

کروم ۱۱۵

کروم ۱۱۴

کروم ۱۱۳