Wuthering Waves একটি উচ্চ বিশ্বস্ত অ্যাকশন RPG গেম যা কুরো গেমস দ্বারা তৈরি করা হয়েছে। দীর্ঘ গেমিং সেশনের জন্য টেকসইভাবে একটি প্রিমিয়াম ব্যবহারকারীর অভিজ্ঞতা প্রদানের জন্য পাওয়ার খরচ অপ্টিমাইজ করা খুবই গুরুত্বপূর্ণ।
অ্যান্ড্রয়েড স্টুডিও হেজহগ (2023.1.1) থেকে পাওয়ার প্রোফাইলার চালু করেছে যা ডেভেলপারদের অন ডিভাইস পাওয়ার রেল মনিটর (ODPM) এর উপর ভিত্তি করে পাওয়ার খরচ ডেটা বুঝতে সাহায্য করতে পারে।
অ্যান্ড্রয়েড স্টুডিওতে পাওয়ার প্রোফাইলিং ক্ষমতা সহ, আপনি আপনার অ্যান্ড্রয়েড অ্যাপের বৈশিষ্ট্যগুলির জন্য কার্যকরভাবে A/B পরীক্ষা করতে পারেন (নিচে দেখানো হয়েছে)।
তারা যা করেছে
কুরো গেমগুলি অ্যান্ড্রয়েড স্টুডিও পাওয়ার প্রোফাইলার ব্যবহার করে শুরু হয়েছিল গেমের আচরণগুলি কীভাবে ডিভাইসের পাওয়ার খরচকে প্রভাবিত করে তা বোঝার জন্য। এই অভিজ্ঞতা তাদের পারফেটো এবং ওডিপিএম-এর উপর ভিত্তি করে একটি কাস্টমাইজড টুল তৈরি করতে পরিচালিত করেছিল, নিম্নলিখিত বর্ধনগুলিকে অন্তর্ভুক্ত করে:
- কাস্টমাইজড ভিউ - ডেভেলপার পাওয়ার রেল ফিল্টার করতে পারে এবং নমনীয় সময় রেঞ্জ প্রিসেট করতে পারে।
- আরও ভাল রক্ষণাবেক্ষণ - বিকাশকারী তাদের কাস্টমাইজড QA সিস্টেমে পাওয়ার খরচ ডেটা আপলোড করতে পারে এবং গেমের সংস্করণ জুড়ে ডেটা তুলনা করতে পারে।
ODPM ডেটা প্রক্রিয়া করুন
ODPM ডেটা অ্যাক্সেস করার জন্য, Kuro Games পারফেটো ট্রেস প্রসেসর (পাইথন) মেট্রিক API ব্যবহার করেছে android_powerrails
মেট্রিক থেকে 30-সেকেন্ডের avg_used_power_mw data
প্রক্রিয়া করতে, যা Pertetto মেট্রিক্স প্রোটোতে AndroidPowerRails
হিসাবে সংজ্ঞায়িত করা হয়েছে, নিম্নলিখিত ফর্ম্যাটে:
পাওয়ার রেল | গ্রাফিক্স কোয়ালিটি | FPS | উজ্জ্বলতা | গড় শক্তি খরচ | শতাংশ (প্রতি রেল / মোট) |
---|---|---|---|---|---|
power.rail.cpu.big | উচ্চ | 30 | কম | 474.158mW | 14.70% |
power.rail.cpu.mid | উচ্চ | 30 | কম | 470.916mW | 14.60% |
power.rail.cpu.little | উচ্চ | 30 | কম | 438.662mW | 13.60% |
power.rail.gpu | উচ্চ | 30 | কম | 346.761mW | 10.70% |
... | ... | ... | ... | ... | ... |
উচ্চ-শক্তি-ব্যবহৃত পাওয়ার রেলগুলি সনাক্ত করুন
প্রতিটি পাওয়ার রেলের জন্য কোন আদর্শ মান নেই। উচ্চ-শক্তি-ব্যবহৃত পাওয়ার রেলগুলি সনাক্ত করতে, কুরো গেমগুলি নিষ্ক্রিয়, চলমান এবং লড়াই সহ বিভিন্ন পরীক্ষার ক্ষেত্রে ব্যবহার করে A/B পরীক্ষা তৈরি করেছে। স্পষ্টতই উচ্চ মান সহ নির্দিষ্ট পাওয়ার রেলগুলি একই পাওয়ার রেলগুলির মানগুলির তুলনা করে সনাক্ত করা যেতে পারে। বিভিন্ন পরীক্ষার ক্ষেত্রে আচরণগত পার্থক্যের তুলনা করে, শক্তি খরচের সমস্যার মূল কারণটি ধীরে ধীরে বের করা হবে।
অপ্টিমাইজেশন
ওডিপিএম ডেটার সাহায্যে, কুরো গেম প্রতিটি অপ্টিমাইজেশান দৃশ্যের উন্নতি পরিমাপ করতে পারে:
- CPU কোর শিডিউলিং কৌশল পরিবর্তন করা এবং বড় কোরের কাজের চাপ কমাতে বিভিন্ন থ্রেডের অগ্রাধিকার সামঞ্জস্য করা
- CPU এর রানটাইম শেডার কম্পাইলিং ওয়ার্কলোড কমাতে PSO (পাইপলাইন স্টেট অবজেক্ট) প্রাক-কম্পাইল করা
- GPU রেন্ডারিং কাজের চাপ কমাতে PVS (সম্ভাব্যভাবে দৃশ্যমান সেট) বাস্তবায়ন করা
- GPU রেন্ডারিং কাজের চাপ কমাতে বেকিং অফলাইন শ্যাডো অক্লুশন ক্লিং
অভিন্ন এবং পুনরুত্পাদনযোগ্য অবস্থার অধীনে পরীক্ষার ফলাফল তুলনা করার জন্য, কুরো গেমস একই সময়কালের সাথে একই 3D দৃশ্য এবং ক্যামেরার দৃষ্টিকোণ ব্যবহার করে একটি পরীক্ষার ক্ষেত্রে ODPM ডেটা পুনরুদ্ধার করেছে।
ফলাফল
ODPM এবং পাওয়ার প্রোফাইলিং থেকে ডেটা ব্যবহার করে, Kuro Games মোট বিদ্যুত খরচ 9.68% কমিয়েছে, সেপ্টেম্বর রিলিজে (সংস্করণ 0904) 3233mW থেকে নভেম্বর রিলিজে (সংস্করণ 1.4 চূড়ান্ত) 2920mW হয়েছে। নিম্নলিখিত চিত্রটি সামঞ্জস্যপূর্ণ FPS এবং গ্রাফিক্স সেটিংসের অধীনে এই শক্তি হ্রাসের বিবরণ দেয়।
ODPM ডেটা বর্তমানে শুধুমাত্র Pixel 6 এবং উচ্চতর ডিভাইসের জন্য উপলব্ধ, কিন্তু CPU ব্যবহার, GPU ব্যবহার এবং ব্যাটারিস্ট্যাট সহ অন্যান্য মেট্রিক্সের মাধ্যমে সমস্ত Android ডিভাইসে উন্নতি দেখা যায়। উদাহরণস্বরূপ, Oppo Reno 5-এর জন্য একই দৃশ্যে Kuro Games GPU ব্যবহার সামগ্রিকভাবে 9.6% হ্রাস পেয়েছে।
শুরু করুন
উন্নত ব্যবহারের ক্ষেত্রে আপনি পাওয়ার প্রোফাইলার বা পারফেটো পাওয়ার রেল ডেটা থেকে শুরু করতে পারেন।
ODPM পাওয়ার রেল নামগুলি ডিভাইস-নির্দিষ্ট। একটি রেলের নাম "S2S_VDD_G3D" এর মতো কিছু হতে পারে; সংশ্লিষ্ট পাওয়ার মনিটর ডেটা ব্যাখ্যা করার জন্য ডিভাইস হার্ডওয়্যারের নির্দিষ্ট জ্ঞান প্রয়োজন। Android API স্তর 35 থেকে, আপনি getSupportedPowerMonitors
থেকে PowerMonitor
ব্যবহার করতে পারেন। PowerMonitor-এর মাধ্যমে, আপনি মানব-পাঠযোগ্য লেবেল এবং প্রতিটি পৃথক OEM দ্বারা সেট করা কাঁচা পাওয়ার রেলের নামগুলির মধ্যে ম্যাপিং পুনরুদ্ধার করতে পারেন।
ODPM ছাড়া ডিভাইসে উন্নতি যাচাই করতে, আপনি CPU ঘড়ি, GPU ঘড়ি, এবং মেমরি ব্যান্ডউইথ অনুমানগুলিকে শক্তি খরচের জন্য প্রক্সি হিসাবে ব্যবহার করতে পারেন।