Mir 2 Swappy ব্যবহার করে রেন্ডারিং কর্মক্ষমতা উন্নত করে

Mir 2: Return of the King হল একটি উচ্চ-মানের লিজেন্ড আইপি মোবাইল গেম যা Actoz Soft দ্বারা অনুমোদিত এবং ইউনিটি ইঞ্জিন ব্যবহার করে HK ZHILI YAOAN LIMITED দ্বারা বিকাশিত।

এই গেমটি শুধুমাত্র কোরিয়ান ফ্যান্টাসি এমএমওআরপিজির প্রতিনিধি "মির 2" এর অনুভূতিগুলিকে পুরোপুরি পুনরুদ্ধার করে না, তবে এটি অনেক জনপ্রিয় গেমের বিষয়বস্তু যেমন সরঞ্জাম সংগ্রহ, বড় আকারের বালি আক্রমণ এবং অন্যান্য মূল গেমপ্লে অফার করে।

গেমটি এর ফ্রেম রেটের স্থায়িত্ব উন্নত করতে, মসৃণ রেন্ডারিং অর্জন করতে এবং উল্লেখযোগ্যভাবে তাদের Android ভাইটাল (ধীর সেশন মেট্রিক) বাড়াতে Android Frame Pacing API ( Swappy ) ব্যবহার করেছে।

Android Vitals-এ স্লো সেশন চালু হয়েছে

Google Play কনসোলে স্লো সেশন হল একটি Android ভাইটাল মেট্রিক। একটি ধীর সেশনে 25% এর বেশি ধীর ফ্রেম থাকে৷ একটি ফ্রেম ধীর হয় যদি এটি হয়:

1) 20fps এ, এটি পূর্ববর্তী ফ্রেমের পরে 50ms এর মধ্যে উপস্থাপন করা হয় না। 2) 30fps এ, এটি পূর্ববর্তী ফ্রেমের পরে 34ms এর মধ্যে উপস্থাপন করা হয় না।

যথাসময়ে, প্লে ব্যবহারকারীদের এমন গেমগুলি থেকে দূরে রাখতে শুরু করবে যেগুলি তাদের ফোনে 20 FPS অর্জন করতে পারে না।

একটি ফ্রেম ডেভেলপারের টার্গেটের চেয়ে স্ক্রিনে লম্বা হতে পারে বা রেন্ডার করতে পারে এমন অনেক কারণ রয়েছে৷ গেমটি সিপিইউ বা জিপিইউ বাউন্ড হতে পারে, অতিরিক্ত উত্তাপ যা একটি থ্রোটলড থার্মাল স্টেট সক্রিয় করে, অথবা গেমের ফ্রেমরেট এবং ডিভাইসের ডিসপ্লে রিফ্রেশ রেট এর মধ্যে অমিল রয়েছে।

স্বাপি কি

অ্যান্ড্রয়েড ফ্রেম পেসিং লাইব্রেরি, যা সোয়াপি নামেও পরিচিত , এটি AGDK লাইব্রেরির অংশ। Swappy OpenGL এবং Vulkan গেমগুলিকে Android-এ মসৃণ রেন্ডারিং এবং সঠিক ফ্রেম পেসিং অর্জনে সহায়তা করে।

লাইব্রেরি একাধিক রিফ্রেশ রেট পরিচালনা করে যদি সেগুলি ডিভাইস দ্বারা সমর্থিত হয়, যা একটি ফ্রেম উপস্থাপনে একটি গেমকে আরও নমনীয়তা দেয়৷ উদাহরণস্বরূপ, 60 Hz রিফ্রেশ রেট এবং 90 Hz সমর্থন করে এমন একটি ডিভাইসের জন্য, যে গেমটি প্রতি সেকেন্ডে 60 ফ্রেম তৈরি করতে পারে না তা মসৃণ থাকার জন্য 30 FPS এর পরিবর্তে 45 ​​FPS-এ নেমে যেতে পারে। লাইব্রেরি প্রত্যাশিত গেম ফ্রেম রেট সনাক্ত করে এবং সেই অনুযায়ী ফ্রেম উপস্থাপনার সময় স্বয়ংক্রিয়ভাবে সামঞ্জস্য করে।

ফ্রেম পেসিং লাইব্রেরি ব্যাটারির আয়ুও উন্নত করে কারণ এটি অপ্রয়োজনীয় ডিসপ্লে আপডেট এড়িয়ে যায়। উদাহরণস্বরূপ, যদি একটি গেম 60 FPS এ রেন্ডারিং হয় কিন্তু ডিসপ্লে 120 Hz এ আপডেট হয়, তাহলে প্রতিটি ফ্রেমের জন্য স্ক্রীনটি দুবার আপডেট করা হয়। ফ্রেম পেসিং লাইব্রেরি টার্গেট ফ্রেম হারের সবচেয়ে কাছাকাছি ডিভাইস দ্বারা সমর্থিত মানটিতে রিফ্রেশ রেট সেট করে এটি এড়ায়।

কিভাবে Mir 2 স্বাপ্পির সাথে রেন্ডারিং পারফরম্যান্স উন্নত করেছে

Mir 2 ( 미르2: 왕의 귀환 ) অস্থির রেন্ডারিং পারফরম্যান্সের সাথে একটি সমস্যার সম্মুখীন হয়েছিল যেখানে তারা 20 FPS এর ফ্রেমরেট থ্রেশহোল্ডে 40% স্লো সেশন অনুভব করেছিল, যা Google Play এর 20% থ্রেশহোল্ডের চেয়ে অনেক বেশি।

চিত্র 1. Swappy সংহত করার আগে ধীর সেশন মেট্রিক।

Mir 2 ( 미르2: 왕의 귀환 ) একটি উচ্চ বিশ্বস্ততা গ্রাফিক গেম, কিছু ডিভাইস একটি স্থিতিশীল FPS বজায় রাখার জন্য চ্যালেঞ্জের সম্মুখীন হচ্ছে। তাদের ফ্রেম রেট ডিস্ট্রিবিউশন দেখায় যে প্রচুর সেশন 20fps এর চেয়ে কম FPS এ চলছে।

চিত্র 2. Swappy সংহত করার আগে গেমের FPS বিতরণ।
প্রতিটি বালতি সেশনের শতাংশের প্রতিনিধিত্ব করে যেখানে তাদের ফ্রেমগুলির 75% বালতি লেবেলের চেয়ে দ্রুত ছিল।

যখন ডিসপ্লে ওয়ার্কলোড অ্যাপ্লিকেশন ওয়ার্কলোডের চেয়ে বেশি সময় নেয়, তখন একটি সারিতে অতিরিক্ত ফ্রেম যোগ করা হয়। এটি আবারও তোতলামির দিকে নিয়ে যায় এবং বাফার-স্টাফিংয়ের কারণে একটি অতিরিক্ত লেটেন্সি ফ্রেমের দিকে নিয়ে যেতে পারে।

চিত্র 3. লম্বা ফ্রেম B 2টি ফ্রেমের জন্য ভুল পেসিং দেয়—A এবং B।

স্বয়পি লাইব্রেরি সিঙ্ক ফেন্স ( EGL_KHR_fence_sync এবং VkFence ) ব্যবহার করে এটির সমাধান করে অ্যাপ্লিকেশনে ওয়েট ইনজেক্ট করার জন্য যা ডিসপ্লে পাইপলাইনকে ধরার অনুমতি দেয়, পিছনের চাপ তৈরি করার অনুমতি না দিয়ে। ফ্রেম A এখনও একটি অতিরিক্ত ফ্রেম উপস্থাপন করে, কিন্তু ফ্রেম B এখন সঠিকভাবে উপস্থাপন করে।

চিত্র 4. ফ্রেম C এবং D উপস্থাপনের জন্য অপেক্ষা করছে।

মীর 2 অপ্টিমাইজড ফ্রেম পেসিং ফিচারে বিল্ট ইন ইউনিটির সুবিধা ব্যবহার করে সহজেই সোয়াপি লাইব্রেরিকে একীভূত করেছে। এই কর্মের ফলে তাদের রেন্ডারিং কর্মক্ষমতার উল্লেখযোগ্য উন্নতি হয়েছে, বিশেষত স্লো সেশন মেট্রিক 40% থেকে 10% এ নেমে এসেছে।

চিত্র 5. Swappy একীভূত করার পরে ধীর সেশন উন্নতি।

তারা Swappy একত্রিত করার পরে Mir2 এর জন্য ধীর সেশনের সংখ্যা উল্লেখযোগ্যভাবে হ্রাস করা হয়েছে।

চিত্র 6. Swappy একীভূত করার পরে গেমের FPS বিতরণ।
প্রতিটি বালতি সেশনের শতাংশের প্রতিনিধিত্ব করে যেখানে তাদের ফ্রেমগুলির 75% বালতি লেবেলের চেয়ে দ্রুত ছিল।

Swappy দিয়ে শুরু করুন

কিভাবে নেটিভ গেম ইঞ্জিনে Swappy ব্যবহার করবেন

আপনার গেমে অ্যান্ড্রয়েড ফ্রেম পেসিং লাইব্রেরি সংহত করতে নিম্নলিখিত নির্দেশিকাগুলি দেখুন:

ইউনিটি গেম ইঞ্জিনে কীভাবে সোয়াপি ব্যবহার করবেন

ইউনিটি তাদের ইঞ্জিনে অ্যান্ড্রয়েড ফ্রেম পেসিংকে একীভূত করেছে। ইউনিটিতে এই বৈশিষ্ট্যটি সক্ষম করতে, প্রজেক্ট সেটিংস > প্লেয়ার > অ্যান্ড্রয়েডের জন্য সেটিংস > রেজোলিউশন এবং উপস্থাপনার অধীনে অপ্টিমাইজড ফ্রেম পেসিং চেকবক্সটি চেক করুন:

চিত্র 7. ইউনিটি ইঞ্জিনে ফ্রেম পেসিং সক্ষম করুন।

বিকল্পভাবে, আপনার লজিক কোডে অপ্টিমাইজড ফ্রেম পেসিং বিকল্পটি প্রোগ্রাম্যাটিকভাবে সক্ষম করুন যাতে ইউনিটি ফ্রেম হারে কম বৈচিত্র্যের জন্য ফ্রেমগুলিকে সমানভাবে বিতরণ করতে দেয়, মসৃণ গেমপ্লে তৈরি করে।

অবাস্তব গেম ইঞ্জিনে কীভাবে সোয়াপি ব্যবহার করবেন

অবাস্তব 4.25 এবং তার উপরে অ্যান্ড্রয়েড ফ্রেম পেসিং লাইব্রেরি সংহত করে, যা অ্যান্ড্রয়েড গেম ডেভেলপমেন্ট কিটের অংশ। মোবাইল ফ্রেম পেসিং নিবন্ধটি ব্যাখ্যা করে যে কীভাবে অ্যান্ড্রয়েড ফ্রেম পেসিং লাইব্রেরি সক্ষম করা যায় এবং কীভাবে C++ কোড থেকে ফ্রেম পেসিং নিয়ন্ত্রণ করা যায়।

আরও পড়ার জন্য, আপনি Slow Sessions এবং Swappy সম্পর্কে জানতে পারেন।