পারফরম্যান্স ক্লাস

পারফরম্যান্স ক্লাস একটি স্ট্যান্ডার্ড যা Android 12-এ প্রথম প্রবর্তিত হয়েছিল৷ একটি পারফরম্যান্স ক্লাস ডিভাইসের ক্ষমতাগুলির একটি সেটকে সংজ্ঞায়িত করে যা Android এর বেসলাইন প্রয়োজনীয়তার বাইরে যায়৷

অ্যান্ড্রয়েডের প্রতিটি সংস্করণের নিজস্ব সংশ্লিষ্ট কর্মক্ষমতা শ্রেণী রয়েছে, যা সেই সংস্করণের অ্যান্ড্রয়েড সামঞ্জস্যতা সংজ্ঞা নথিতে (CDD) সংজ্ঞায়িত করা হয়েছে। অ্যান্ড্রয়েড কম্প্যাটিবিলিটি টেস্ট স্যুট (সিটিএস) সিডিডি প্রয়োজনীয়তা যাচাই করে।

প্রতিটি অ্যান্ড্রয়েড-চালিত ডিভাইস এটি সমর্থন করে এমন কর্মক্ষমতা শ্রেণী ঘোষণা করে। ডেভেলপাররা রানটাইমে ডিভাইসের পারফরম্যান্স ক্লাস খুঁজে পেতে পারে এবং আপগ্রেড করা অভিজ্ঞতা প্রদান করতে পারে যা ডিভাইসের ক্ষমতার সম্পূর্ণ সুবিধা নেয়।

একটি ডিভাইসের পারফরম্যান্স ক্লাস লেভেল খুঁজে পেতে, জেটপ্যাক কোর পারফরম্যান্স লাইব্রেরি ব্যবহার করুন। এই লাইব্রেরিটি ডিভাইসের মিডিয়া পারফরম্যান্স ক্লাস (MPC) স্তরের রিপোর্ট করে যা বিল্ড সংস্করণের তথ্যে বা Google Play পরিষেবার ডেটার উপর ভিত্তি করে ঘোষণা করা হয়েছে৷

আপনার গ্রেডল ফাইলে প্রাসঙ্গিক মডিউলগুলির জন্য একটি নির্ভরতা যোগ করে শুরু করুন:

কোটলিন

// Implementation of Jetpack Core library.
implementation("androidx.core:core-ktx:1.12.0")
// Enable APIs to query for device-reported performance class.
implementation("androidx.core:core-performance:1.0.0")
// Enable APIs to query Google Play services for performance class.
implementation("androidx.core:core-performance-play-services:1.0.0")

গ্রোভি

// Implementation of Jetpack Core library.
implementation 'androidx.core:core-ktx:1.12.0'
// Enable APIs to query for device-reported performance class.
implementation 'androidx.core:core-performance:1.0.0'
// Enable APIs to query Google Play services for performance class.
implementation 'androidx.core:core-performance-play-services:1.0.0'

তারপর, আপনার Application onCreate() লাইফসাইকেল ইভেন্টে PlayServicesDevicePerformance এর মতো একটি DevicePerformance বাস্তবায়নের একটি উদাহরণ তৈরি করুন। এটি শুধুমাত্র একবার আপনার অ্যাপে করা উচিত।

কোটলিন

import androidx.core.performance.play.services.PlayServicesDevicePerformance

class MyApplication : Application() {
  lateinit var devicePerformance: DevicePerformance

  override fun onCreate() {
    // Use a class derived from the DevicePerformance interface
    devicePerformance = PlayServicesDevicePerformance(applicationContext)
  }
}

জাভা

import androidx.core.performance.play.services.PlayServicesDevicePerformance;

class MyApplication extends Application {
  DevicePerformance devicePerformance;

  @Override
  public void onCreate() {
    // Use a class derived from the DevicePerformance interface
    devicePerformance = new PlayServicesDevicePerformance(applicationContext);
  }
}

আপনি ডিভাইসের ক্ষমতার উপর ভিত্তি করে আপনার অ্যাপের অভিজ্ঞতাকে উপযোগী করতে mediaPerformanceClass সম্পত্তি পুনরুদ্ধার করতে পারেন:

কোটলিন

class MyActivity : Activity() {
  private lateinit var devicePerformance: DevicePerformance
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    // Note: Good app architecture is to use a dependency framework. See
    // https://developer.android.com/training/dependency-injection for more
    // information.
    devicePerformance = (application as MyApplication).devicePerformance
  }

  override fun onResume() {
    super.onResume()
    when {
      devicePerformance.mediaPerformanceClass >= Build.VERSION_CODES.VANILLA_ICE_CREAM -> {
        // MPC level 35 and later.
        // Provide the most premium experience for the highest performing devices.
      }
      devicePerformance.mediaPerformanceClass == Build.VERSION_CODES.UPSIDE_DOWN_CAKE -> {
        // MPC level 34.
        // Provide a high quality experience.
      }
      else -> {
        // MPC level 33, 31, 30, or undefined.
        // Remove extras to keep experience functional.
      }
    }
  }
}

জাভা

class MyActivity extends Activity {
  private DevicePerformance devicePerformance;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // Note: Good app architecture is to use a dependency framework. See
    // https://developer.android.com/training/dependency-injection for more
    // information.
    devicePerformance = ((MyApplication) getApplication()).devicePerformance;
  }

  @Override
  public void onResume() {
    super.onResume();
    if (devicePerformance.getMediaPerformanceClass() >= Build.VERSION_CODES.VANILLA_ICE_CREAM) {
      // MPC level 35 and later.
      // Provide the most premium experience for the highest performing devices.
    } else if (devicePerformance.getMediaPerformanceClass() == Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
      // MPC level 34.
      // Provide a high quality experience.
    } else {
      // MPC level 33, 31, 30, or undefined.
      // Remove extras to keep experience functional.
    }
  }
}

পারফরম্যান্স ক্লাস লেভেল ফরওয়ার্ড-সামঞ্জস্যপূর্ণ। একটি ডিভাইস তার কর্মক্ষমতা ক্লাস আপডেট না করে একটি নতুন প্ল্যাটফর্ম সংস্করণে আপগ্রেড করতে পারে। উদাহরণস্বরূপ, একটি ডিভাইস যা প্রাথমিকভাবে পারফরম্যান্স ক্লাস 33 সমর্থন করে তা Android 14-এ আপগ্রেড করতে পারে এবং প্রতিবেদন করা চালিয়ে যেতে পারে যদি এটি পারফরম্যান্স ক্লাস 34-এর প্রয়োজনীয়তা পূরণ না করে তবে এটি পারফরম্যান্স ক্লাস 33 সমর্থন করে। এটি একটি নির্দিষ্ট অ্যান্ড্রয়েড সংস্করণের উপর নির্ভর না করে ডিভাইসগুলিকে একসাথে গ্রুপ করার অনুমতি দেয়।

চিত্র 1. ডিভাইসগুলি অ্যান্ড্রয়েড সংস্করণগুলি আপগ্রেড করতে পারে এবং রিপোর্ট করা চালিয়ে যেতে পারে যে তারা মূলত যে শ্রেণীটিকে সমর্থন করে তা সমর্থন করে৷

মিডিয়া পারফরম্যান্স ক্লাস 35

MPC 35 Android 15-এ প্রবর্তিত হয়েছিল এবং MPC 34 -এ প্রবর্তিত প্রয়োজনীয়তার উপর ভিত্তি করে তৈরি করা হয়েছিল। নির্দিষ্ট MPC 35 প্রয়োজনীয়তাগুলি Android 15 CDD- এ প্রকাশিত হয়। MPC 34 থেকে আইটেমগুলির জন্য বর্ধিত প্রয়োজনীয়তা ছাড়াও, CDD নিম্নলিখিত ক্ষেত্রে প্রয়োজনীয়তাগুলি নির্দিষ্ট করে:

মিডিয়া

  • ডিকোডিং ফ্রেম ড্রপ
  • HDR সম্পাদনা
  • গতিশীল রঙের দিক
  • পোর্ট্রেট আকৃতির অনুপাত

ক্যামেরা

  • JPEG_R
  • পূর্বরূপ স্থিরকরণ

গ্রাফিক্স

  • EGL এক্সটেনশন
  • ভলকান কাঠামো

মিডিয়া পারফরম্যান্স ক্লাস 34

MPC 34 Android 14-এ চালু করা হয়েছিল এবং MPC 33- এ প্রবর্তিত প্রয়োজনীয়তার ভিত্তিতে তৈরি করা হয়েছে। নির্দিষ্ট MPC 34 প্রয়োজনীয়তাগুলি Android 14 CDD- এ প্রকাশিত হয়েছে। MPC 33 থেকে আইটেমগুলির জন্য বর্ধিত প্রয়োজনীয়তা ছাড়াও, CDD নিম্নলিখিত ক্ষেত্রে প্রয়োজনীয়তাগুলি নির্দিষ্ট করে:

মিডিয়া

  • AV1 হার্ডওয়্যার ডিকোডারে ফিল্ম গ্রেইন ইফেক্ট সাপোর্ট
  • AVIF বেসলাইন প্রোফাইল
  • AV1 এনকোডার কর্মক্ষমতা
  • HDR ভিডিও কোডেক
  • RGBA_1010102 রঙের বিন্যাস
  • YUV টেক্সচার স্যাম্পলিং
  • ভিডিও এনকোডিং গুণমান
  • মাল্টিচ্যানেল অডিও মিক্সিং

ক্যামেরা

  • নাইট মোড এক্সটেনশন
  • এইচডিআর-সক্ষম প্রাথমিক ক্যামেরা
  • মুখ সনাক্তকরণ দৃশ্য মোড

সাধারণ

  • হার্ডওয়্যার ওভারলে
  • এইচডিআর ডিসপ্লে

মিডিয়া পারফরম্যান্স ক্লাস 33

MPC 33 Android 13-এ প্রবর্তিত হয়েছিল এবং MPC 31 -এ প্রবর্তিত প্রয়োজনীয়তার ভিত্তিতে তৈরি হয়। নির্দিষ্ট MPC 33 প্রয়োজনীয়তাগুলি Android 13 CDD- এ প্রকাশিত হয়েছে। MPC 31 থেকে আইটেমগুলির জন্য বর্ধিত প্রয়োজনীয়তা ছাড়াও, CDD নিম্নলিখিত ক্ষেত্রে প্রয়োজনীয়তাগুলি নির্দিষ্ট করে:

মিডিয়া

  • AV1 হার্ডওয়্যার ডিকোডার
  • সুরক্ষিত হার্ডওয়্যার ডিকোডার
  • ডিকোডার ইনিশিয়ালাইজেশন লেটেন্সি
  • রাউন্ড-ট্রিপ অডিও লেটেন্সি
  • তারযুক্ত হেডসেট এবং USB অডিও ডিভাইস
  • MIDI ডিভাইস
  • হার্ডওয়্যার-সমর্থিত বিশ্বস্ত কার্যকরী পরিবেশ

ক্যামেরা

  • পূর্বরূপ স্থিরকরণ
  • স্লো-মো রেকর্ডিং
  • আল্ট্রাওয়াইড ক্যামেরার জন্য ন্যূনতম জুম অনুপাত
  • সমসাময়িক ক্যামেরা
  • লজিক্যাল মাল্টি ক্যামেরা
  • স্ট্রিম ব্যবহারের ক্ষেত্রে

মিডিয়া পারফরম্যান্স ক্লাস 31

Android 12 এ MPC 31 চালু করা হয়েছিল। নির্দিষ্ট MPC 31 প্রয়োজনীয়তা Android 12 CDD- এ প্রকাশিত হয়েছে। CDD নিম্নলিখিত ক্ষেত্রে প্রয়োজনীয়তা নির্দিষ্ট করে:

মিডিয়া

  • সমসাময়িক ভিডিও কোডেক সেশন
  • এনকোডার ইনিশিয়ালাইজেশন লেটেন্সি
  • ডিকোডার ফ্রেম ড্রপ
  • এনকোডিং গুণমান

ক্যামেরা

  • রেজোলিউশন এবং ফ্রেম রেট
  • স্টার্টআপ এবং ক্যাপচার লেটেন্সি
  • FULL বা আরও ভাল হার্ডওয়্যার স্তর
  • টাইমস্ট্যাম্প উৎস হল রিয়েলটাইম
  • RAW ক্ষমতা

সাধারণ

  • স্মৃতি
  • পড়া এবং কর্মক্ষমতা লিখুন
  • স্ক্রীন রেজোলিউশন
  • পর্দার ঘনত্ব

মিডিয়া পারফরম্যান্স ক্লাস 30

MPC 30-এ MPC 31-এর প্রয়োজনীয়তাগুলির একটি উপসেট অন্তর্ভুক্ত রয়েছে, যা ডেভেলপারদের পূর্বের কিন্তু এখনও অত্যন্ত সক্ষম ডিভাইসগুলিতে একটি উপযোগী অভিজ্ঞতা প্রদান করতে দেয়। নির্দিষ্ট পারফরম্যান্স ক্লাসের প্রয়োজনীয়তাগুলি Android 11 CDD- এ প্রকাশিত হয়েছে।

{% শব্দার্থে %} {% endverbatim %} {% শব্দার্থে %} {% endverbatim %}