تاریخ انتشار: ۲۳ آوریل ۲۰۲۵
ویژگی GPUAdapterInfo isFallbackAdapter است
ویژگی بولین GPUAdapterInfo isFallbackAdapter
نشان می دهد که آیا GPUAdapter دارای محدودیت های عملکرد قابل توجهی در ازای سازگاری گسترده تر، رفتار قابل پیش بینی تر یا حفظ حریم خصوصی بهبود یافته است یا خیر. این افزوده ضروری بود زیرا کتابخانه هایی که اشیاء GPUDevice ارائه شده توسط کاربر را می گیرند، نمی توانستند از طریق ویژگی adapterInfo
در GPUDevice به این اطلاعات دسترسی داشته باشند. مثال زیر و شماره 403172841 را ببینید.
const adapter = await navigator.gpu.requestAdapter();
if (adapter?.info.isFallbackAdapter) {
// The returned adapter is a software-backed fallback adapter, which
// may have significantly lower performance and fewer features.
}
از آنجایی که Chrome هنوز از آداپتورهای بازگشتی پشتیبانی نکرده است، isFallbackAdapter
در حال حاضر همیشه در دستگاههای کاربران نادرست است. ما در حال بررسی هستیم که آیا ویژگی GPUAdapter isFallbackAdapter
را می توان منسوخ و حذف کرد. رجوع به قصد ارسال شود .
بهبود زمان کامپایل شیدر در D3D12
تیم Chrome به بهبود Tint، کامپایلر زبان سایه زن WebGPU، با افزودن یک نمایش متوسط (IR) برای دستگاه هایی که از WebGPU با باطن D3D12 پشتیبانی می کنند، ادامه می دهد. این IR که بین درخت نحو انتزاعی Tint (AST) و نویسنده باطن HLSL قرار گرفته است، کامپایلر را کارآمدتر و قابل نگهداری تر می کند و در نهایت برای توسعه دهندگان و کاربران سودمند خواهد بود. آزمایشات اولیه نشان می دهد که نسخه جدید Tint هنگام ترجمه سایه زن های WGSL Unity به HLSL تا 10 برابر سریعتر است.

این پیشرفتها - که از قبل در Android، ChromeOS و macOS قابل دسترسی هستند - به تدریج به دستگاههای Windows که از WebGPU با باطن D3D12 پشتیبانی میکنند، گسترش مییابد. به شماره 42251045 مراجعه کنید.
تصاویر بوم را ذخیره و کپی کنید
کاربران Chrome اکنون می توانند روی بوم WebGPU کلیک راست کرده و به گزینه های منوی زمینه Save Image As… یا Copy Image دسترسی پیدا کنند. به شماره 40902474 مراجعه کنید.

محدودیت های حالت سازگاری را بردارید
هنگامی که پرچم chrome://flags/#enable-unsafe-webgpu
فعال باشد، ویژگی آزمایشی "core-features-and-limits"
زمانی که در یک GPUDevice در دسترس باشد، همه محدودیتهای حالت سازگاری (ویژگیها و محدودیتها) را برمیدارد. شماره 395855517 را ببینید.
درخواست یک GPUAdapter با featureLevel: "compatibility"
به مرورگر اشاره می کند که حالت آزمایشی سازگاری WebGPU را انتخاب کند. در صورت موفقیت آمیز بودن، آداپتور حاصل «سازگار-پیشفرض» است. در غیر این صورت، "core-defaulting" است که مانند استفاده از گزینه featureLevel: "core"
است. علاوه بر این، فراخوانی requestDevice()
بدون requiredFeatures
و requiredLimits
یک GPUDevice با قابلیتهای پیشفرض GPUAdapter درخواست میکند.
آداپتورهای پیشفرض هسته همیشه از ویژگی "core-features-and-limits"
پشتیبانی میکنند و بهطور خودکار در دستگاههای GPU ایجاد شده از آنها فعال میشود. برای آداپتورهای پیشفرض سازگاری، ویژگی "core-features-and-limits"
ممکن است پشتیبانی شود و میتوان آن را در دستگاههای GPU ایجاد شده از آنها درخواست کرد. هر دو نوع آداپتور همچنین ممکن است از ویژگیهایی مانند "float32-blendable"
پشتیبانی کنند که در هر دو حالت هسته و سازگاری اختیاری است.
مثال زیر برای برنامهای است که به "float32-blendable"
نیاز دارد و در صورت موجود بودن از ویژگیهای اصلی پشتیبانی میکند، اما اگر ویژگیهای اصلی در دسترس نباشد، فقط از ویژگیهای سازگاری استفاده میکند.
const adapter = await navigator.gpu.requestAdapter({ featureLevel: "compatibility" });
if (!adapter || !adapter.features.has("float32-blendable")) {
throw new Error("32-bit float textures blending support is not available");
}
const requiredFeatures = [];
if (adapter.features.has("core-features-and-limits")) {
requiredFeatures.push("core-features-and-limits");
}
const device = await adapter.requestDevice({ requiredFeatures });
if (!device.features.has("core-features-and-limits")) {
// Compatibility mode restrictions validation rules will apply.
}
ویژگی های آزمایشی GPUAdapter featureLevel
و isCompatibilityMode
به نفع ویژگی "core-features-and-limits"
حذف شده اند. شماره 395855516 را ببینید.
به روز رسانی سحر
وضعیت پاسخ به تماس enum InstanceDropped
به CallbackCancelled
تغییر نام داده است تا مشخص شود که پاسخ تماس لغو شده است، اما پردازش پسزمینه مرتبط با رویداد، مانند کامپایل خط لوله، ممکن است همچنان در حال اجرا باشد. در صورتی که مکانیسم لغو دیگری بعداً اضافه شود، نام جدید به طور کلی قابل استفاده است. به شماره 520 مراجعه کنید.
فهرست wgpu::PopErrorScopeStatus::EmptyStack
که نشان میدهد پشته محدوده خطا را نمیتوان باز کرد، به wgpu::PopErrorScopeStatus::Error
تغییر نام داد (که به طور کلی نیز قابل استفاده است). پاسخ تماس اکنون همچنین شامل یک پیام توضیح خطای مربوطه برای کمک به اشکال زدایی است. به شماره 369 مراجعه کنید.
این تنها برخی از نکات کلیدی را پوشش می دهد. فهرست جامع تعهدات را بررسی کنید.
چه چیزی در WebGPU جدید است
فهرستی از همه چیزهایی که در سری What's New in WebGPU پوشش داده شده است.
کروم 136
- ویژگی GPUAdapterInfo isFallbackAdapter است
- بهبود زمان کامپایل شیدر در D3D12
- تصاویر بوم را ذخیره و کپی کنید
- محدودیت های حالت سازگاری را بردارید
- به روز رسانی سحر
کروم 135
- اجازه ایجاد طرحبندی خط لوله با طرحبندی گروه پیوند تهی
- به Viewport ها اجازه دهید تا از محدوده اهداف رندر عبور کنند
- دسترسی آسان تر به حالت سازگاری آزمایشی در اندروید
- محدودیت maxInterStageShaderComponents را حذف کنید
- به روز رسانی سحر
کروم 134
- بارهای کاری یادگیری ماشینی را با زیرگروه ها بهبود دهید
- پشتیبانی انواع بافت قابل فیلتر شناور را به عنوان ترکیب پذیر حذف کنید
- به روز رسانی سحر
کروم 133
- فرمتهای unorm8x4-bgra و راس 1 جزء اضافی
- اجازه دهید محدودیت های ناشناخته با مقدار تعریف نشده درخواست شود
- قوانین تراز WGSL تغییر می کند
- عملکرد WGSL با دور انداختن افزایش می یابد
- از VideoFrame displaySize برای بافت های خارجی استفاده کنید
- با استفاده از copyExternalImageToTexture، تصاویر را با جهت گیری های غیر پیش فرض مدیریت کنید
- بهبود تجربه توسعه دهندگان
- حالت سازگاری را با featureLevel فعال کنید
- ویژگی های پاکسازی زیرگروه آزمایشی
- محدودیت maxInterStageShaderComponents را منسوخ کنید
- به روز رسانی سحر
کروم 132
- استفاده از نمای بافت
- ترکیب بافت های شناور 32 بیتی
- ویژگی GPUDevice adapterInfo
- پیکربندی بافت بوم با فرمت نامعتبر خطای جاوا اسکریپت را ایجاد می کند
- فیلتر کردن محدودیت های نمونه بر روی بافت ها
- آزمایش زیرگروه های گسترده
- بهبود تجربه توسعه دهندگان
- پشتیبانی آزمایشی از فرمتهای بافت عادی ۱۶ بیتی
- به روز رسانی سحر
کروم 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
- به روز رسانی سحر