تاریخ انتشار: 30 جولای 2025
پشتیبانی از بافت سه بعدی برای فرمت های فشرده BC و ASTC
ویژگی های WebGPU "texture-compression-bc-sliced-3d"
و "texture-compression-astc-sliced-3d"
از بافت های سه بعدی با استفاده از فرمت های Block Compression (BC) و Adaptive Scalable Texture Compression (ASTC) پشتیبانی می کنند. این به شما امکان میدهد از قابلیتهای فشردهسازی کارآمد فرمتهای BC و ASTC برای دادههای بافت حجمی استفاده کنید، و کاهش قابلتوجهی در ردپای حافظه و پهنای باند مورد نیاز را بدون از دست دادن قابلتوجه در کیفیت بصری ارائه میدهد. این امر به ویژه در زمینه هایی مانند تجسم علمی، تصویربرداری پزشکی و تکنیک های رندر پیشرفته ارزشمند است.
قطعه کد زیر بررسی میکند که آیا آداپتور از بافتهای سه بعدی با فرمتهای فشردهشده BC و ASTC پشتیبانی میکند یا خیر و در صورت موجود بودن، از دستگاهی با این ویژگیها درخواست میکند.
const adapter = await navigator.gpu.requestAdapter();
const requiredFeatures = [];
if (adapter?.features.has("texture-compression-bc-sliced-3d")) {
requiredFeatures.push(
"texture-compression-bc",
"texture-compression-bc-sliced-3d",
);
}
if (adapter?.features.has("texture-compression-astc-sliced-3d")) {
requiredFeatures.push(
"texture-compression-astc",
"texture-compression-astc-sliced-3d",
);
}
const device = await adapter?.requestDevice({ requiredFeatures });
// Later on...
if (device.features.has("texture-compression-astc-sliced-3d")) {
// Create a 3D texture using ASTC compression
} else if (device.features.has("texture-compression-bc-sliced-3d")) {
// Create a 3D texture using BC compression
} else {
// Fallback: Create an uncompressed 3D texture
}
با بررسی نمونه رندر حجم - بافت 3D WebGPU و مشاهده ورودی chromestatus ، اسکن های مغز سه بعدی را کاوش کنید.

ویژگی جدید «ویژگیهای اصلی و محدودیتها».
ویژگی جدید "core-features-and-limits"
برای حالت سازگاری WebGPU آینده معرفی شده است. این ویژگی نشان می دهد که آداپتور یا دستگاه از ویژگی های اصلی و محدودیت های مشخصات WebGPU پشتیبانی می کند. WebGPU "core" تنها نسخه موجود در حال حاضر است، بنابراین تمام پیاده سازی های WebGPU باید "core-features-and-limits"
در ویژگی های پشتیبانی شده خود داشته باشند.
در آینده، هنگامی که حالت سازگاری WebGPU ارسال می شود، ممکن است یک آداپتور یا یک دستگاه این ویژگی را نداشته باشد تا به این معنی باشد که آداپتور یا دستگاه حالت سازگاری است و نه یک دستگاه اصلی. هنگامی که در دستگاهی فعال می شود، تمام محدودیت های حالت سازگاری (ویژگی ها و محدودیت ها) را از بین می برد.
برای توضیح دقیق و استفاده در حالت سازگاری WebGPU به توضیح دهنده و قسمت زیر مراجعه کنید. شماره 418025721 را ببینید.
آزمایش اولیه برای حالت سازگاری WebGPU
WebGPU یک API قدرتمند است که برای گرافیک های مدرن طراحی شده است و با فناوری هایی مانند Vulkan، Metal و Direct3D 12 هماهنگ است. با این حال، تعداد قابل توجهی از دستگاه ها هنوز از این API های جدیدتر پشتیبانی نمی کنند. به عنوان مثال، در ویندوز، 31٪ از کاربران Chrome Direct3D 11.1 یا بالاتر ندارند. در اندروید، 15٪ از کاربران اندروید Vulkan 1.1 ندارند، از جمله 10٪ که اصلا Vulkan ندارند.
این یک چالش برای توسعه دهندگانی ایجاد می کند که می خواهند دسترسی برنامه خود را به حداکثر برسانند. آنها اغلب مجبور می شوند چندین پیاده سازی را توسعه دهند (مثلاً WebGPU و WebGL)، مخاطبان محدودتری را با WebGPU اصلی بپذیرند، یا به WebGL پایبند باشند و ویژگی های پیشرفته WebGPU مانند محاسبات GPU را از دست بدهند.

حالت سازگاری WebGPU راه حلی را با ارائه یک نسخه انتخابی و کمی محدود از WebGPU API ارائه می دهد. این حالت برای اجرای APIهای گرافیکی قدیمیتر مانند OpenGL ES 3.1 و Direct3D11 طراحی شده است و به طور قابل توجهی دامنه برنامه شما را به دستگاههایی که از APIهای گرافیکی مدرن و صریح مورد نیاز WebGPU هسته پشتیبانی نمیکنند، گسترش میدهد.
از آنجایی که حالت سازگاری زیرمجموعهای از WebGPU است، برنامههای ساخته شده با آن نیز برنامههای «هسته» WebGPU معتبر هستند. این بدان معنی است که آنها حتی در مرورگرهایی که به طور خاص از حالت سازگاری پشتیبانی نمی کنند، به طور یکپارچه اجرا می شوند.
برای بسیاری از برنامههای کاربردی اساسی، فعال کردن حالت سازگاری به همان اندازه ساده است که وقتی شما requestAdapter() را فرا میخوانید featureLevel: "compatibility"
عبور دهید. برنامه های پیچیده تر ممکن است به تنظیمات جزئی نیاز داشته باشند تا در محدودیت های حالت قرار گیرند. نمونه Generate Mipmap WebGPU مثال خوبی است.
// Request a GPUAdapter in compatibility mode
const adapter = await navigator.gpu.requestAdapter({
featureLevel: "compatibility",
});
const hasCore = adapter?.features.has("core-features-and-limits");
const device = await adapter?.requestDevice({
requiredFeatures: (hasCore ? ["core-features-and-limits"] : []),
});
if (device?.features.has("core-features-and-limits")) {
// Compatibility mode restrictions will apply
}
ویژگی را فعال کنید
بهطور پیشفرض، حالت سازگاری WebGPU در Chrome فعال نیست، اما میتوان با فعال کردن صریح این عملکرد، آن را در Chrome 139 آزمایش کرد. میتوانید با فعال کردن پرچم «ویژگیهای پلتفرم وب آزمایشی» در chrome://flags/#enable-experimental-web-platform-features
آن را به صورت محلی فعال کنید.
برای فعال کردن آن برای همه بازدیدکنندگان برنامه شما، یک آزمایش اولیه در حال انجام است و قرار است در Chrome 145 (21 آوریل 2026) به پایان برسد. برای شرکت در کارآزمایی، به پست شروع آزمایشی مبدا مراجعه کنید.
به روز رسانی سحر
یک آرگومان message
به تابع WGPUQueueWorkDoneCallback
اضافه میشود تا با سایر توابع پاسخ به تماس که وضعیتی نیز دارند سازگارتر باشد. webgpu-headers PR را ببینید.
وقتی emdawnwebgpu با -sSHARED_MEMORY
پیوند داده می شود، فایل webgpu.cpp آن نیز با این پرچم کامپایل می شود. Dawn CL 244075 را ببینید.
این تنها برخی از نکات کلیدی را پوشش می دهد. فهرست جامع تعهدات را بررسی کنید.
چه چیزی در WebGPU جدید است
فهرستی از همه چیزهایی که در سری What's New in WebGPU پوشش داده شده است.
کروم 139
- پشتیبانی از بافت سه بعدی برای فرمت های فشرده BC و ASTC
- ویژگی جدید «ویژگیهای اصلی و محدودیتها».
- آزمایش اولیه برای حالت سازگاری WebGPU
- به روز رسانی سحر
کروم 138
- خلاصه شده برای استفاده از بافر به عنوان یک منبع اتصال
- تغییر اندازه مورد نیاز برای بافرهای ترسیم شده در زمان ایجاد
- گزارش معماری برای GPUهای اخیر
- ویژگی GPUAdapter isFallbackAdapter را منسوخ کنید
- به روز رسانی سحر
کروم 137
- از نمای بافت برای اتصال بافت خارجی استفاده کنید
- بافرها بدون تعیین افست و اندازه کپی می کنند
- WGSL workgroupUniformLoad با استفاده از اشاره گر به اتمی
- ویژگی GPUAdapterInfo powerPreference
- ویژگی سازگاری حالت GPURequestAdapterOptions را حذف کنید
- به روز رسانی سحر
کروم 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
- به روز رسانی سحر