WebGPU (Chrome 139) এ নতুন কি আছে

ফ্রাঁসোয়া বিউফোর্ট
François Beaufort

প্রকাশিত: ৩০ জুলাই, ২০২৫

BC এবং ASTC সংকুচিত ফর্ম্যাটের জন্য 3D টেক্সচার সমর্থন

"texture-compression-bc-sliced-3d" এবং "texture-compression-astc-sliced-3d" WebGPU বৈশিষ্ট্যগুলি ব্লক কম্প্রেশন (BC) এবং অ্যাডাপ্টিভ স্কেলেবল টেক্সচার কম্প্রেশন (ASTC) ফর্ম্যাট ব্যবহার করে 3D টেক্সচারের জন্য সমর্থন যোগ করে। এটি আপনাকে ভলিউমেট্রিক টেক্সচার ডেটার জন্য BC এবং ASTC ফর্ম্যাটের দক্ষ কম্প্রেশন ক্ষমতার সুবিধা নিতে দেয়, যা ভিজ্যুয়াল মানের উল্লেখযোগ্য ক্ষতি ছাড়াই মেমরি ফুটপ্রিন্ট এবং ব্যান্ডউইথের প্রয়োজনীয়তা উল্লেখযোগ্যভাবে হ্রাস করে। এটি বৈজ্ঞানিক ভিজ্যুয়ালাইজেশন, মেডিকেল ইমেজিং এবং উন্নত রেন্ডারিং কৌশলগুলির মতো ক্ষেত্রগুলিতে বিশেষভাবে মূল্যবান।

নিম্নলিখিত কোড স্নিপেটটি পরীক্ষা করে যে অ্যাডাপ্টারটি BC এবং ASTC সংকুচিত ফর্ম্যাট সহ 3D টেক্সচার সমর্থন করে কিনা এবং যদি এই বৈশিষ্ট্যগুলি উপলব্ধ থাকে তবে একটি ডিভাইসের জন্য অনুরোধ করে।

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 নমুনাটি পরীক্ষা করে 3D ব্রেন স্ক্যানগুলি অন্বেষণ করুন এবং chromestatus এন্ট্রিটি দেখুন।

WebGPU ব্যবহার করে 3D ব্রেন স্ক্যান রেন্ডার করা হয়েছে।
ASTC সংকুচিত ফর্ম্যাট সহ একটি 3D টেক্সচার থেকে একটি মস্তিষ্ক স্ক্যান চিত্র।

নতুন "মূল-বৈশিষ্ট্য-এবং-সীমা" বৈশিষ্ট্য

আসন্ন WebGPU সামঞ্জস্য মোডের জন্য একটি নতুন "core-features-and-limits" বৈশিষ্ট্য চালু করা হচ্ছে। এই বৈশিষ্ট্যটি নির্দেশ করে যে অ্যাডাপ্টার বা ডিভাইসটি WebGPU স্পেসিফিকেশনের মূল বৈশিষ্ট্য এবং সীমা সমর্থন করে। "core" WebGPU এই মুহূর্তে উপলব্ধ একমাত্র সংস্করণ, তাই সমস্ত WebGPU বাস্তবায়নে তাদের সমর্থিত বৈশিষ্ট্যগুলিতে "core-features-and-limits" অন্তর্ভুক্ত করতে হবে।

ভবিষ্যতে, যখন WebGPU সামঞ্জস্য মোড পাঠানো হবে, তখন কোনও অ্যাডাপ্টার বা ডিভাইসে এই বৈশিষ্ট্যটি নাও থাকতে পারে যা বোঝায় যে এটি একটি সামঞ্জস্য মোড অ্যাডাপ্টার বা ডিভাইস এবং মূল ডিভাইস নয়। একটি ডিভাইসে সক্ষম করা হলে, এটি সমস্ত সামঞ্জস্য মোড সীমাবদ্ধতা (বৈশিষ্ট্য এবং সীমা) তুলে নেয়।

WebGPU সামঞ্জস্য মোডে বিস্তারিত ব্যাখ্যা এবং ব্যবহারের জন্য, ব্যাখ্যাকারী এবং নিম্নলিখিত বিভাগটি দেখুন। সংখ্যা 418025721 দেখুন।

WebGPU সামঞ্জস্য মোডের জন্য অরিজিন ট্রায়াল

WebGPU হল একটি শক্তিশালী API যা আধুনিক গ্রাফিক্সের জন্য ডিজাইন করা হয়েছে, যা Vulkan, Metal এবং Direct3D 12 এর মতো প্রযুক্তির সাথে সামঞ্জস্যপূর্ণ। তবে, উল্লেখযোগ্য সংখ্যক ডিভাইসে এখনও এই নতুন API গুলির জন্য সমর্থন নেই। উদাহরণস্বরূপ, Windows-এ, 31% Chrome ব্যবহারকারীর Direct3D 11.1 বা তার বেশি সংস্করণ নেই। Android-এ, 15% Android ব্যবহারকারীর Vulkan 1.1 নেই, যার মধ্যে 10% যাদের Vulkan একেবারেই নেই।

এটি ডেভেলপারদের জন্য একটি চ্যালেঞ্জ তৈরি করে যারা তাদের অ্যাপ্লিকেশনের নাগাল সর্বাধিক করতে চান। তাদের প্রায়শই একাধিক বাস্তবায়ন (যেমন, WebGPU এবং WebGL) তৈরি করতে, মূল WebGPU দিয়ে সীমিত দর্শকদের গ্রহণ করতে, অথবা WebGL-এ লেগে থাকতে বাধ্য করা হয়, WebGPU-এর উন্নত বৈশিষ্ট্য যেমন GPU কম্পিউট থেকে বঞ্চিত হতে হয়।

WebGPU সামঞ্জস্য মোডের ভিজ্যুয়াল উপস্থাপনা।
WebGPU সামঞ্জস্য মোড প্রসারিত নাগালের।

WebGPU সামঞ্জস্য মোড WebGPU API-এর একটি অপ্ট-ইন, সামান্য সীমাবদ্ধ সংস্করণ প্রদান করে একটি সমাধান প্রদান করে। এই মোডটি OpenGL ES 3.1 এবং Direct3D11-এর মতো পুরানো গ্রাফিক্স API চালানোর জন্য ডিজাইন করা হয়েছে, যা আপনার অ্যাপ্লিকেশনের নাগাল উল্লেখযোগ্যভাবে এমন ডিভাইসগুলিতে প্রসারিত করে যেগুলি মূল WebGPU-এর জন্য প্রয়োজনীয় আধুনিক, স্পষ্ট গ্রাফিক্স API সমর্থন করে না।

যেহেতু সামঞ্জস্য মোড 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
}

বৈশিষ্ট্যটি সক্ষম করুন

ডিফল্টরূপে, Chrome-এ WebGPU সামঞ্জস্য মোড সক্রিয় থাকে না, তবে কার্যকারিতাটি স্পষ্টভাবে সক্ষম করে Chrome 139-এ এটি পরীক্ষা করা যেতে পারে। আপনি chrome://flags/#enable-experimental-web-platform-features এ "পরীক্ষামূলক ওয়েব প্ল্যাটফর্ম বৈশিষ্ট্য" পতাকা সক্ষম করে স্থানীয়ভাবে এটি সক্রিয় করতে পারেন।

আপনার অ্যাপের সকল দর্শকের জন্য এটি সক্ষম করার জন্য, একটি অরিজিন ট্রায়াল চলছে এবং Chrome 145 (এপ্রিল 21, 2026) এ শেষ হওয়ার জন্য সেট করা হয়েছে। ট্রায়ালে অংশগ্রহণ করতে, Get Started with origin ট্রায়াল পোস্টটি দেখুন।

ভোরের আপডেট

WGPUQueueWorkDoneCallback ফাংশনে একটি message আর্গুমেন্ট যোগ করা হয়েছে যাতে অন্যান্য কলব্যাক ফাংশনের সাথে আরও সামঞ্জস্যপূর্ণ হয় যা একটি স্ট্যাটাসও গ্রহণ করে। webgpu-headers PR দেখুন।

যখন emdawnwebgpu -sSHARED_MEMORY এর সাথে লিঙ্ক করা হয়, তখন এর webgpu.cpp ফাইলটিও এই ফ্ল্যাগ দিয়ে কম্পাইল করা হয়। Dawn CL 244075 দেখুন।

এখানে শুধুমাত্র কিছু গুরুত্বপূর্ণ বিষয় অন্তর্ভুক্ত করা হয়েছে। কমিটের সম্পূর্ণ তালিকাটি দেখুন।

WebGPU-তে নতুন কী আছে

"What's New in WebGPU" সিরিজে যা যা আলোচনা করা হয়েছে তার একটি তালিকা।

ক্রোম ১৪৩

ক্রোম ১৪২

ক্রোম ১৪১

ক্রোম ১৪০

ক্রোম ১৩৯

ক্রোম ১৩৮

ক্রোম ১৩৭

ক্রোম ১৩৬

ক্রোম ১৩৫

ক্রোম ১৩৪

ক্রোম ১৩৩

ক্রোম ১৩২

ক্রোম ১৩১

ক্রোম ১৩০

ক্রোম ১২৯

ক্রোম ১২৮

ক্রোম ১২৭

ক্রোম ১২৬

ক্রোম ১২৫

ক্রোম ১২৪

ক্রোম ১২৩

ক্রোম ১২২

ক্রোম ১২১

ক্রোম ১২০

ক্রোম ১১৯

ক্রোম ১১৮

ক্রোম ১১৭

ক্রোম ১১৬

ক্রোম ১১৫

ক্রোম ১১৪

ক্রোম ১১৩