আমি পাইগেমে 2 ডি সাইডক্রোলার নিয়ে কাজ করছি। প্রতিটি মানচিত্রের জন্য আমরা একটি টেক্সচার ব্যবহার করি (এটি টেক্সচারের আসল আকার):
তারপরে আমরা এই কোড সহ চিত্রটি লোড করব:
sprite = pygame.image.load("Maps/MapTesting.png")
sprite.convert()
sprite = pygame.transform.scale(sprite,
(sprite.get_width()*6, sprite.get_height()*6))
আপনি দেখতে পাচ্ছেন, আসল মানচিত্রের টেক্সচারটি তৈরি করতে টেক্সচারটি 6 বার ফুটিয়ে উঠেছে। গড়ে এই টেক্সচারটি প্রায় 4500x800। এই টেক্সচারটি প্রতিটি ফ্রেমে স্ক্রিনে ব্লিট করতে হবে , কারণ পুরো স্ক্রিনটি নোংরা (পাশের স্ক্রোলিংয়ের জন্য ধন্যবাদ)। আমরা এই কোডটি ব্যবহার করে এটি করি:
screen.blit(sprite, (0, 0),
(cameraposx, cameraposy, windowheight, windowwidth))
এবং এটি কাজ করে। সমস্যাটি হ'ল এটি বেশ ধীর গতিতে: আমি একটি কম-শালীন পিসিতে একটি স্বল্প 40 এফপিএস পাই এবং এটি সত্যিকারের এআই / অবজেক্টগুলি ছাড়া কোনওটিই নয়, যখন আমরা 60 টি এফপিএসের লক্ষ্য করছি। কীভাবে আমরা এই গতি বাড়িয়ে তুলব?
নোট করুন যে উপরের কোডটি স্যানিটাইজ করা হয়েছে এবং প্রসঙ্গের বাইরে নেওয়া হয়েছে। সম্পূর্ণ কোডটি এখানে পাওয়া যাবে: https://github.com/nightcracker/PyGG2
এবং সর্বশেষে তবে সর্বনিম্ন নয়, যদিও উপরের চিত্রটি 8-বিটের মতো দেখাতে পারে তবে গেমটিতে এমন কিছু উপাদান রয়েছে যার জন্য আরও বিট-গভীরতা প্রয়োজন।