WebGPU (Chrome 114) তে নতুন কি, WebGPU তে নতুন কি (Chrome 114)

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

জাভাস্ক্রিপ্ট অপ্টিমাইজ করুন

Chromium অবদানকারীরা V8 JavaScript ইঞ্জিনে জেনারেট করা কোড থেকে Blink রেন্ডারিং ইঞ্জিনে C++ হ্যান্ডলারে কল করার ওভারহেড কমিয়ে GPUComputePassEncoder , GPURenderPassEncoder এবং GPUCommandEncoder পদ্ধতির জন্য WebGPU কর্মক্ষমতা ত্বরান্বিত করেছেন। সমস্যাটি দেখুন chromium:1417558

নিম্নলিখিত মাইক্রোবেঞ্চমার্ক দেখায় যে জাভাস্ক্রিপ্ট থেকে কলের CPU সময় প্রতি 10K ড্রতে প্রায় 0.5 ms থেকে কমে প্রতি 10K ড্রতে প্রায় 0.3 ms হয়েছে, যা 40% উন্নতি।

ক্রোম ব্রাউজারের বেঞ্চমার্ক গ্রাফের স্ক্রিনশট যেখানে দ্রুত কলের উন্নতি দেখানো হয়েছে।
ক্রোম বেঞ্চমার্ক গ্রাফ দ্রুত কলের উন্নতি দেখাচ্ছে ( উৎস )।

কনফিগার না করা ক্যানভাসে getCurrentTexture() InvalidStateError ছুঁড়ে দেয়

GPUCanvasContext getCurrentTexture() মেথডটি একটি আনকনফিগারড ক্যানভাসে কল করলে এখন WebGPU স্পেসিফিকেশন অনুসারে OperationError এর পরিবর্তে InvalidStateError দেখা যায়। সমস্যাটি দেখুন chromium:1424461

const context = document.querySelector("canvas").getContext("webgpu");
context.getCurrentTexture(); // Throws InvalidStateError

WGSL আপডেট

AbstractInt এর শূন্য-পূর্ণ ভেক্টরগুলিকে এখন vec2() , vec3() , এবং vec4() হিসাবে লেখা যেতে পারে। সমস্যা tint:1892 দেখুন। উদাহরণস্বরূপ:

  • vec2() হল vec2(0,0)
  • vec3() হল vec3(0,0,0)
  • vec4() হল vec4(0,0,0,0)

ভোরের আপডেট

ত্রুটি বার্তা উন্নত করা হচ্ছে

অবৈধ বস্তুর বর্ণনাকারী লেবেলগুলি আর বাদ দেওয়া হচ্ছে না যাতে আপনি ত্রুটি বার্তাগুলিতে সেগুলি দেখতে পারেন। সমস্যা dawn:1771 দেখুন।

Node.js এর জন্য অনুপস্থিত API গুলি যোগ করুন

GPUAdapter::requestAdapterInfo() এবং GPUBuffer::getMapState() পদ্ধতিগুলি এখন Node.js-এর জন্য প্রয়োগ করা হয়েছে। dawn:1761 ইস্যুটি দেখুন।

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

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

ক্রোম ১৪২

ক্রোম ১৪১

ক্রোম ১৪০

ক্রোম ১৩৯

ক্রোম ১৩৮

ক্রোম ১৩৭

ক্রোম ১৩৬

ক্রোম ১৩৫

ক্রোম ১৩৪

ক্রোম ১৩৩

ক্রোম ১৩২

ক্রোম ১৩১

ক্রোম ১৩০

ক্রোম ১২৯

ক্রোম ১২৮

ক্রোম ১২৭

ক্রোম ১২৬

ক্রোম ১২৫

ক্রোম ১২৪

ক্রোম ১২৩

ক্রোম ১২২

ক্রোম ১২১

ক্রোম ১২০

ক্রোম ১১৯

ক্রোম ১১৮

ক্রোম ১১৭

ক্রোম ১১৬

ক্রোম ১১৫

ক্রোম ১১৪

ক্রোম ১১৩

,

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

জাভাস্ক্রিপ্ট অপ্টিমাইজ করুন

Chromium অবদানকারীরা V8 JavaScript ইঞ্জিনে জেনারেট করা কোড থেকে Blink রেন্ডারিং ইঞ্জিনে C++ হ্যান্ডলারে কল করার ওভারহেড কমিয়ে GPUComputePassEncoder , GPURenderPassEncoder এবং GPUCommandEncoder পদ্ধতির জন্য WebGPU কর্মক্ষমতা ত্বরান্বিত করেছেন। সমস্যাটি দেখুন chromium:1417558

নিম্নলিখিত মাইক্রোবেঞ্চমার্ক দেখায় যে জাভাস্ক্রিপ্ট থেকে কলের CPU সময় প্রতি 10K ড্রতে প্রায় 0.5 ms থেকে কমে প্রতি 10K ড্রতে প্রায় 0.3 ms হয়েছে, যা 40% উন্নতি।

ক্রোম ব্রাউজারের বেঞ্চমার্ক গ্রাফের স্ক্রিনশট যেখানে দ্রুত কলের উন্নতি দেখানো হয়েছে।
ক্রোম বেঞ্চমার্ক গ্রাফ দ্রুত কলের উন্নতি দেখাচ্ছে ( উৎস )।

কনফিগার না করা ক্যানভাসে getCurrentTexture() InvalidStateError ছুঁড়ে দেয়

GPUCanvasContext getCurrentTexture() মেথডটি একটি আনকনফিগারড ক্যানভাসে কল করলে এখন WebGPU স্পেসিফিকেশন অনুসারে OperationError এর পরিবর্তে InvalidStateError দেখা যায়। সমস্যাটি দেখুন chromium:1424461

const context = document.querySelector("canvas").getContext("webgpu");
context.getCurrentTexture(); // Throws InvalidStateError

WGSL আপডেট

AbstractInt এর শূন্য-পূর্ণ ভেক্টরগুলিকে এখন vec2() , vec3() , এবং vec4() হিসাবে লেখা যেতে পারে। সমস্যা tint:1892 দেখুন। উদাহরণস্বরূপ:

  • vec2() হল vec2(0,0)
  • vec3() হল vec3(0,0,0)
  • vec4() হল vec4(0,0,0,0)

ভোরের আপডেট

ত্রুটি বার্তা উন্নত করা হচ্ছে

অবৈধ বস্তুর বর্ণনাকারী লেবেলগুলি আর বাদ দেওয়া হচ্ছে না যাতে আপনি ত্রুটি বার্তাগুলিতে সেগুলি দেখতে পারেন। সমস্যা dawn:1771 দেখুন।

Node.js এর জন্য অনুপস্থিত API গুলি যোগ করুন

GPUAdapter::requestAdapterInfo() এবং GPUBuffer::getMapState() পদ্ধতিগুলি এখন Node.js-এর জন্য প্রয়োগ করা হয়েছে। dawn:1761 ইস্যুটি দেখুন।

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

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

ক্রোম ১৪২

ক্রোম ১৪১

ক্রোম ১৪০

ক্রোম ১৩৯

ক্রোম ১৩৮

ক্রোম ১৩৭

ক্রোম ১৩৬

ক্রোম ১৩৫

ক্রোম ১৩৪

ক্রোম ১৩৩

ক্রোম ১৩২

ক্রোম ১৩১

ক্রোম ১৩০

ক্রোম ১২৯

ক্রোম ১২৮

ক্রোম ১২৭

ক্রোম ১২৬

ক্রোম ১২৫

ক্রোম ১২৪

ক্রোম ১২৩

ক্রোম ১২২

ক্রোম ১২১

ক্রোম ১২০

ক্রোম ১১৯

ক্রোম ১১৮

ক্রোম ১১৭

ক্রোম ১১৬

ক্রোম ১১৫

ক্রোম ১১৪

ক্রোম ১১৩