গ্রাফিক্সের জন্য Vulkan ব্যবহার করা

Vulkan হল একটি আধুনিক ক্রস-প্ল্যাটফর্ম 3D গ্রাফিক্স API যা ডিভাইস গ্রাফিক্স হার্ডওয়্যার ও আপনার গেমের মধ্যে অ্যাবস্ট্রাকশন কমানোর জন্য ডিজাইন করা হয়েছে। Vulkan হল Android-এর প্রাথমিক লো-লেভেল গ্রাফিক্স API, যা OpenGL ES-এর পরিবর্তে ব্যবহার করা হয়। OpenGL ES এখনও Android-এ কাজ করে, তবে এর ফিচার ডেভেলপমেন্ট আর অ্যাক্টিভ নেই। OpenGL ES-এর তুলনায় Vulkan-এর নিম্নলিখিত সুবিধাগুলি রয়েছে:

  • গ্রাফিক্স ড্রাইভারে কম সিপিইউ ওভারহেড সহ আরও বেশি কার্যকর আর্কিটেকচার
  • সিপিইউ পারফর্ম্যান্স উন্নত করতে নতুন অপ্টিমাইজেশন স্ট্র্যাটেজি
  • OpenGL ES-এ উপলভ্য নয় এমন নতুন গ্রাফিক্স ফিচার, যেমন বাইন্ডলেস API ও রে ট্রেসিং

Vulkan Android-এ Android 7 (API লেভেল 24) থেকে উপলভ্য। Android 10 (API লেভেল 29) ও এর পরের যেকোনও ভার্সনের সব 64-বিট Android ডিভাইসে Vulkan 1.1 কাজ করে। অ্যাক্টিভ Android ডিভাইসের মধ্যে পঁচাশি শতাংশ ডিভাইসে Vulkan কাজ করে। Vulkan-এর উপযুক্ত ডিভাইসের জন্য ন্যূনতম ফিচার সেট Android বেসলাইন প্রোফাইল দ্বারা নির্ধারিত হয়।

Vulkan আপনাকে আরও ভালো দেখতে ও আরও পারফর্ম্যান্স-ভিত্তিক গেম তৈরি করতে সাহায্য করে। Vulkan আধুনিক গ্রাফিক্স হার্ডওয়্যারের সম্পূর্ণ সম্ভাবনা আনলক করে। মানানসই ডিভাইসে Android UI রেন্ডারিং ফ্রেমওয়ার্ক Vulkan ব্যবহার করে। Unity এবং Unreal গেম ইঞ্জিনের বর্তমান ভার্সন মানানসই Android ডিভাইসে Vulkan-কে ডিফল্ট রেন্ডারার হিসেবে বেছে নেয়। ANGLE প্রোজেক্ট Vulkan-এর উপরে OpenGL ES API-এর কনফর্মেন্ট ইমপ্লিমেন্টেশন প্রয়োগ করে।

শুরু করুন

C/C++

Android-এ আপনার C/C++ গেম ইঞ্জিনে Vulkan কীভাবে ব্যবহার করতে হয় তা জানতে, Android-এ Vulkan ব্যবহার করা শুরু করুন দেখুন।

এছাড়াও, গেম ডেভেলপার নন এমন ব্যক্তিদের জন্য নেটিভ ডেভেলপমেন্ট কিট (NDK) ডকুমেন্টেশনে একটি সাধারণ Vulkan বিভাগ আছে, যেখানে নিম্নলিখিত বিষয়গুলি অন্তর্ভুক্ত:

গেম ইঞ্জিন

ANGLE সম্পর্কে

GPU-তে কানেক্ট করার জন্য Android-এর পছন্দসই ইন্টারফেস হল Vulkan। Android 15 ও এর পরের যেকোনও ভার্সনে Vulkan-এর উপরে OpenGL ES চালানোর জন্য একটি ঐচ্ছিক লেয়ার হিসেবে ANGLE অন্তর্ভুক্ত থাকে। ANGLE-এ পরিবর্তন করার ফলে, আরও ভাল মানানসই হওয়ার জন্য Android OpenGL প্রয়োগ করা স্ট্যান্ডার্ডাইজ করা হয় এবং কিছু ক্ষেত্রে পারফর্ম্যান্সও উন্নত হয়।

নিম্নলিখিত দুটি adb কমান্ডের মাধ্যমে আপনার প্যাকেজের জন্য ANGLE চালু করে, বিভিন্ন Android 15+ ডিভাইসে ANGLE-এর সাথে আপনার OpenGL ES অ্যাপের স্থিতিশীলতা এবং পারফর্ম্যান্স পরীক্ষা করুন। পরীক্ষা করার জন্য প্যাকেজের সাথে "package-name" পরিবর্তন করুন।

adb shell settings put global angle_gl_driver_selection_pkgs package-name

adb shell settings put global angle_gl_driver_selection_values angle

ডিভাইস রিবুট করা হলেও এইসব সেটিংস থেকে যায়। ANGLE বন্ধ করতে, নিম্নলিখিত কমান্ড ব্যবহার করুন:

adb shell settings delete global angle_gl_driver_selection_pkgs

adb shell settings delete global angle_gl_driver_selection_values

অ্যাপ্লিকেশন ম্যানিফেস্টের মাধ্যমে ANGLE ব্যবহার করার জন্য অপ্ট-ইন করা

Android 17 ও এর পরবর্তী যেকোনও ভার্সনে, ডেভেলপাররা GLES ড্রাইভার হিসেবে ANGLE-এর অনুরোধ করতে অ্যাপ্লিকেশনের ম্যানিফেস্টে মেটাডেটা ফ্ল্যাগ যোগ করতে পারবেন। এটি ANGLE ব্যবহার করা হবে এমন গ্যারান্টি নয়, তবে GLES ড্রাইভার হিসেবে ANGLE ব্যবহার করার "পছন্দ" করার একটি সিগন্যাল। ANGLE ব্যবহার করা না গেলে, তার পরিবর্তে GPU ভেন্ডরের gles ড্রাইভার ব্যবহার করা হবে।

<application android:appCategory="game">
    <meta-data android:name="com.android.graphics.driver.prefer_angle" android:value="true" />
</application>

Vulkan রোডম্যাপে Android ANGLE

Vulkan রোডম্যাপে Android ANGLE

ANGLE-এর সমস্যা সম্পর্কে অভিযোগ জানান

ANGLE-এ কোনও সমস্যা হলে, আমাদের সমস্যা ট্র্যাকারে জমা দিয়ে আমাদের জানান।