تعداد ویژگیهای WebGPU ممکن است این بار کمی کم به نظر برسد، اما پیشرفتهای بزرگ در این نزدیکی است! نسخههای بعدی شامل ویژگیهایی مانند DP4a، بافتهای ذخیرهسازی فقط خواندنی و خواندنی، کنترل جنبههای استنسیل و عمق جداگانه، رندر کردن به برشهای بافت سهبعدی و بهبودهای کامپایل سایهزن خواهند بود.
در عین حال، بیاموزید که چگونه تست مدل هوش مصنوعی وب خود را با پشتیبانی WebGPU و WebGL در Headless Chrome افزایش دهید و چرا WebGPU ممکن است در Chrome غیرفعال باشد یا کار نکند .
گسترش دسترسی با حالت سازگاری (ویژگی در حال توسعه)
WebGPU به خوبی با API های گرافیکی مدرن (Vulkan، Metal و D3D12) هماهنگ است، اما برخی از دستگاه ها فاقد پشتیبانی از آن ها هستند. این امر دسترسی WebGPU را محدود میکند، بهویژه در پلتفرمهایی مانند Windows (31٪ از کاربران Chrome فاقد D3D11.1+)، Android (23٪ فاقد Vulkan 1.1+) و ChromeOS (تقویت Vulkan در حال افزایش است).
تیم Chrome در حال کار بر روی یک حالت سازگاری در WebGPU است تا با ارائه یک نسخه کمی محدود از WebGPU که روی APIهای قدیمی مانند D3D11 و OpenGL ES کار میکند، این مشکل را برطرف کند. این امر پایگاه کاربران بالقوه WebGPU را گسترش خواهد داد.
نکته مهم، برنامههایی که از حالت سازگاری استفاده میکنند، برنامههای WebGPU کاملا معتبر باقی میمانند. دستگاههایی که از حالت سازگاری پشتیبانی نمیکنند، بهطور یکپارچه به آداپتور اصلی WebGPU پیشفرض میشوند و قابلیت استفاده گسترده را تضمین میکنند.
پیشنهاد را بررسی کنید و اگر سوالی دارید نظر دهید .
حد maxVertexAttributes را افزایش دهید
حداکثر تعداد مشخصه ها در مجموع در میان بافرها هنگام ایجاد یک GPURenderPipeline به طور پیش فرض 16 است. اکنون می توان با استفاده از محدودیت maxVertexAttributes در صورت پشتیبانی، حداکثر 30 درخواست کرد. مثال زیر و شماره dawn:2223 را ببینید.
const adapter = await navigator.gpu.requestAdapter();
if (adapter.limits.maxVertexAttributes < 30) {
// When the desired limit isn't supported, take action to either fall back to
// a code path that does not require the higher limit or notify the user that
// their device does not meet minimum requirements.
}
// Request highest limit of max vertex attributes.
const device = await adapter.requestDevice({
requiredLimits: { maxVertexAttributes: 30 },
});
به روز رسانی سحر
یک ضامن نمونه جدید به نام "expose_wgsl_experimental_features" اضافه شده است تا نمونه فقط ویژگی های آزمایشی WGSL را نشان دهد اما موارد ناامن را نشان نمی دهد، بنابراین می توان از ویژگی های آزمایشی ایمن WGSL بدون نیاز به فعال کردن جابجایی "allow_unsafe_apis" استفاده کرد. شماره سپیده دم: 2260 را ببینید.
بهبودهای اخیر در اتصالات Dawn برای Node.js شامل موارد زیر است:
-
GPUSupportedFeatures::getSize()
اضافه شده است. - کهنگی
GPUAdapter
پیاده سازی شد. -
GPUInternalError
اکنون به درستی برای دستگاه ها گزارش شده است. - اکنون صفات قابل شمارش هستند.
این تنها برخی از نکات کلیدی را پوشش می دهد. فهرست جامع تعهدات را بررسی کنید.
چه چیزی در WebGPU جدید است
فهرستی از همه چیزهایی که در سری What's New in WebGPU پوشش داده شده است.
کروم 131
- فاصله های کلیپ در WGSL
- GPUCanvasContext getConfiguration()
- نقطه و خط اولیه نباید بایاس عمق داشته باشند
- توابع داخلی اسکن جامع برای زیرگروه ها
- پشتیبانی آزمایشی برای چند قرعه کشی غیر مستقیم
- گزینه کامپایل ماژول Shader ریاضی سخت
- حذف GPUAdapter requestAdapterInfo()
- به روز رسانی سحر
کروم 130
- ترکیب منبع دوگانه
- بهبود زمان کامپایل شیدر در فلز
- منسوخ شدن GPUAdapter requestAdapterInfo()
- به روز رسانی سحر
کروم 129
کروم 128
- آزمایش با زیر گروه ها
- بایاس عمق تنظیم را برای خطوط و نقاط منسوخ کنید
- در صورت جلوگیری از Default، هشدار DevTools خطای ضبط نشده را مخفی کنید
- WGSL ابتدا نمونهگیری را درونیابی میکند و هر کدام را
- به روز رسانی سحر
کروم 127
- پشتیبانی آزمایشی از OpenGL ES در اندروید
- ویژگی اطلاعات GPUAdapter
- بهبودهای WebAssembly interop
- خطاهای رمزگذار فرمان بهبود یافته است
- به روز رسانی سحر
کروم 126
- حد maxTextureArrayLayers را افزایش دهید
- بهینه سازی بارگذاری بافر برای باطن Vulkan
- بهبود زمان کامپایل شیدر
- بافرهای فرمان ارسالی باید منحصر به فرد باشند
- به روز رسانی سحر
کروم 125
کروم 124
- بافت های ذخیره سازی فقط خواندنی و خواندنی و نوشتنی
- پشتیبانی کارگران خدماتی و کارگران مشترک
- ویژگی های اطلاعات آداپتور جدید
- رفع اشکال
- به روز رسانی سحر
کروم 123
- توابع داخلی DP4a در WGSL پشتیبانی می کند
- پارامترهای اشاره گر نامحدود در WGSL
- قند نحوی برای عدم ارجاع کامپوزیت ها در WGSL
- حالت فقط خواندنی را برای جنبه های استنسیل و عمق جدا کنید
- به روز رسانی سحر
کروم 122
- گسترش دسترسی با حالت سازگاری (ویژگی در حال توسعه)
- حد maxVertexAttributes را افزایش دهید
- به روز رسانی سحر
کروم 121
- پشتیبانی از WebGPU در اندروید
- برای کامپایل شیدر در ویندوز به جای FXC از DXC استفاده کنید
- پرس و جوهای مهر زمانی در گذرنامه های محاسبه و ارائه
- نقاط ورودی پیش فرض به ماژول های سایه زن
- پشتیبانی از display-p3 به عنوان فضای رنگی GPUExternalTexture
- اطلاعات انبوه حافظه
- به روز رسانی سحر
کروم 120
- پشتیبانی از مقادیر ممیز شناور 16 بیتی در WGSL
- محدودیت ها را فشار دهید
- تغییرات در حالت عمقی-استنسیل
- به روز رسانی اطلاعات آداپتور
- کوانتیزاسیون پرس و جوهای مهر زمانی
- ویژگی های تمیز کردن فنری
کروم 119
کروم 118
- پشتیبانی از HTMLImageElement و ImageData در
copyExternalImageToTexture()
- پشتیبانی آزمایشی از بافت ذخیرهسازی خواندنی-نوشتنی و فقط خواندنی
- به روز رسانی سحر
کروم 117
- بافر راس را تنظیم نکنید
- گروه bind را تنظیم نکنید
- هنگام گم شدن دستگاه، خطاهای ایجاد خط لوله ناهمگام را خاموش کنید
- به روز رسانی های ایجاد ماژول سایه زن SPIR-V
- بهبود تجربه توسعه دهندگان
- ذخیره سازی خطوط لوله با طرح تولید خودکار
- به روز رسانی سحر
کروم 116
- یکپارچه سازی WebCodecs
- دستگاه گمشده توسط GPUAdapter
requestDevice()
برگردانده شد - در صورت فراخوانی
importExternalTexture()
پخش ویدیو را روان نگه دارید - مطابقت با مشخصات
- بهبود تجربه توسعه دهندگان
- به روز رسانی سحر
کروم 115
- پشتیبانی از پسوندهای زبان WGSL
- پشتیبانی آزمایشی از Direct3D 11
- GPU گسسته را به طور پیشفرض با برق AC دریافت کنید
- بهبود تجربه توسعه دهندگان
- به روز رسانی سحر
کروم 114
- بهینه سازی جاوا اسکریپت
- getCurrentTexture() روی بوم پیکربندی نشده خطای InvalidState را ایجاد می کند
- به روز رسانی WGSL
- به روز رسانی سحر