সর্বনিম্ন, একটি ওপেনজিএল অ্যান্ড্রয়েড গেমটিতে একটি ইউআই থ্রেড এবং একটি রেন্ডারারের থ্রেড তৈরি করেছে GLSurfaceView
। Renderer.onDrawFrame()
হাইজেস্ট এফপিএস পেতে সর্বনিম্ন কাজ করা উচিত। পদার্থবিজ্ঞান, এআই ইত্যাদি প্রতিটি ফ্রেম চালানোর প্রয়োজন হয় না, তাই আমরা সেগুলি অন্য থ্রেডে রাখতে পারি। এখন আমাদের আছে:
- রেন্ডারারের থ্রেড - অ্যানিমেশনগুলি আপডেট করুন এবং পোলগুলি আঁকুন
- গেমের থ্রেড - লজিক এবং পর্যায়ক্রমিক পদার্থবিজ্ঞান, এআই ইত্যাদি আপডেট
- ইউআই থ্রেড - কেবলমাত্র অ্যান্ড্রয়েড ইউআই ইন্টারঅ্যাকশন
যেহেতু আপনি কখনও ইউআই থ্রেডটি ব্লক করতে চান না, তাই আমি গেম যুক্তির জন্য আরও একটি থ্রেড চালাচ্ছি। যদিও এটি এখনও প্রয়োজন হয় না? রেন্ডারার থ্রেডে গেম লজিক চালানোর কোনও কারণ আছে কি?