2K Android গেম ডেভেলপমেন্ট কিটের সাহায্যে ANR হার 35% কমিয়ে দেয়

পটভূমি

ক্যাট ড্যাডি গেমস হল কার্কল্যান্ড, ওয়াশিংটনে অবস্থিত একটি সম্পূর্ণ মালিকানাধীন 2K স্টুডিও এবং NBA 2K মোবাইলের বিকাশকারী৷ দলটি তাদের গেমের সামগ্রিক গুণমান এবং স্থিতিশীলতা উন্নত করতে চেয়েছিল, বিশেষ করে "অ্যাপ্লিকেশন নট রেসপন্ডিং" ত্রুটিগুলি (ANRs) কমিয়ে৷ যখন একটি Android অ্যাপের UI থ্রেড খুব বেশি সময় অবরুদ্ধ থাকে তখন ANR ঘটে। যখন এটি ঘটে, অ্যাপের প্রধান থ্রেড, যা UI আপডেট করার জন্য দায়ী, ব্যবহারকারীর ইনপুট ইভেন্টগুলি আঁকতে বা প্রক্রিয়া করতে পারে না, ব্যবহারকারীর হতাশা সৃষ্টি করে। অ্যাপটি ফোরগ্রাউন্ডে চলমান থাকলে, সিস্টেমটি একটি ডায়ালগ প্রদর্শন করে যা ব্যবহারকারীকে জোর করে অ্যাপটি ছেড়ে দিতে দেয়।

তারা কি করেছিল

ক্যাট ড্যাডির জন্য ANR কমানো একটি উচ্চ অগ্রাধিকার। QA টিম নিরলসভাবে কাজ করেছে এবং একটি সাধারণ ANR প্যাটার্ন তৈরি করেছে: তারা দেখেছে যে যখন অ্যাপটি বিরতি দেওয়া হয়েছিল এবং তারপর দ্রুত পুনরায় চালু করা হয়েছিল, তখন প্রচুর পরিমাণে স্পর্শ ইনপুট একটি ANR ঘটাতে পারে। Firebase Crashlytics- এর সাথে আরও তদন্ত করে দেখা গেছে যে এই ANR টাইপের ছিল android.os.MessageQueue.nativePollOnce, NBA 2K মোবাইলের জন্য সবচেয়ে সাধারণ ANR ধরনের।

ক্যাট ড্যাডি আরও দেখেছেন যে গেমঅ্যাক্টিভিটিতে উন্নত ইনপুট হ্যান্ডলিং এই ধরনের ANR এড়াতে পারে, তাই তারা গেমঅ্যাক্টিভিটিতে যাওয়ার সিদ্ধান্ত নিয়েছে।

গেমঅ্যাক্টিভিটি হল অ্যান্ড্রয়েড গেম ডেভেলপমেন্ট কিটের একটি উপাদান, যা অ্যাপ সাইকেল কমান্ড, ইনপুট ইভেন্ট এবং অ্যাপ্লিকেশনের C/C++ কোডে টেক্সট ইনপুট প্রক্রিয়াকরণে Android গেমগুলিকে সহায়তা করার জন্য ডিজাইন করা হয়েছে। গেমঅ্যাক্টিভিটি NativeActivity উপর অনেক গেম-কেন্দ্রিক উন্নতি অফার করে, যেমন Fragment , SurfaceView রেন্ডারিং এবং জনপ্রিয় গেম ডেভেলপমেন্ট-সম্পর্কিত লাইব্রেরির জন্য অন্যান্য সমর্থন।

গেমঅ্যাক্টিভিটি তার ইনপুট বাফারে ডাবল বাফারিংও ব্যবহার করে, যা গেমটিকে উচ্চ ইনপুট ভলিউমের এই ক্ষেত্রে আরও ভালভাবে পরিচালনা করতে দেয়।

ফলাফল

গেমঅ্যাক্টিভিটি বাস্তবায়নের মাধ্যমে, ক্যাট ড্যাডি গেমের ইনপুট হ্যান্ডলিংকে উল্লেখযোগ্যভাবে উন্নত করতে সক্ষম হয়েছে, যার ফলে ANR ত্রুটি 35% হ্রাস পেয়েছে। এটি ব্যবহারকারীর অভিজ্ঞতা উন্নত করেছে এবং আরও স্থিতিশীল গেমপ্লে অভিজ্ঞতা তৈরি করেছে।

একটি অতিরিক্ত বোনাস হিসাবে, যেহেতু গেমঅ্যাক্টিভিটি FragmentActivity থেকে উত্তরাধিকারসূত্রে প্রাপ্ত হয়েছে, ক্যাটড্যাডি এমবেডেডওয়েবভিউ এবং এমবেডেডভিডিওভিউকেও একীভূত করতে সক্ষম হয়েছিল, যা কিছু জনপ্রিয় সামাজিক গেম ইন্টিগ্রেশনের জন্য প্রয়োজনীয় ছিল।

এবার শুরু করা যাক

GameActivity এবং বাকি Android গেম ডেভেলপমেন্ট কিট দিয়ে আপনার নিজের গেমের অভিজ্ঞতা উন্নত করুন।