একটি সাধারণ কারণ হ'ল নিকট ভবিষ্যতে কোনও সংস্থান প্রয়োজন হবে কিনা তা নির্ধারণ করা সর্বদা সমানভাবে সহজ নয় isn't
যেহেতু আপনি উদাহরণস্বরূপ ভূখণ্ডের পেজিং ব্যবহার করেছেন, তাই আমি এটি চালিয়ে যাব।
আপনি ব্যাকগ্রাউন্ডে সংলগ্ন সমস্ত মানচিত্রের গ্রিডগুলি লোড করার জন্য কোনও প্রদত্ত মানচিত্রের গ্রিডে থাকলে এটি পুরোপুরি যুক্তিসঙ্গত। আপনি জানেন যে ব্যবহারকারী, সর্বোপরি, এর মধ্যে একটিতে প্রবেশ করতে পারেন। যখন তারা তা করে, আপনি এগুলি আর সংযুক্ত না করে আনলোড করতে পারেন এবং এখনকারগুলি লোড করতে পারেন। এটি আপনি লক্ষ করেছেন।
এখন দ্রুত ভ্রমণ কল্পনা করুন। ব্যবহারকারী কোথায় যেতে পছন্দ করতে পারে তার ভবিষ্যদ্বাণী করার কোনও উপায় নেই। তাদের কাছে (সাধারণত) প্রায় পুরো মানচিত্রটি বেছে নিতে হয়। সমস্ত সম্ভাব্য দ্রুত ভ্রমণের অবস্থানগুলি লোড করাতে অনেক বেশি মেমরি লাগবে (আপনি পুরো ম্যাপটি প্রথম স্থানে মেমরিটিতে লোড করতে পারেন) এবং অনেক বেশি সময় (ধরে নিবেন যে আপনার পুরো মানচিত্র প্রাক-লোড হয়নি)। কখন এই হবে? যখন তারা দ্রুত ভ্রমণ সংলাপ খুলবেন? সমস্যাটি আরও কয়েকগুণ আরও খারাপ হয়ে উঠবে!
এ কারণেই এমনকি "নো-লোড" টেরিনের পেজিং সহ বেশিরভাগ গেমের দ্রুত ভ্রমণে লোড স্ক্রিন রয়েছে। এ কারণেই, আপনি যদি দ্রুত পর্যায়ে চলে যান তবে আপনি কখনও কখনও লো-লোড মানচিত্র সহ এমনকি গেমগুলিতে লোডিং স্ক্রিনগুলিও ট্রিগার করতে পারেন (আমি মনে করি এটি টিইএস ওলভিউনে করা হয়েছে)।
এখন কল্পনা করুন এটি সাধারণভাবে গেম সংস্থানগুলিতে প্রয়োগ করা হয়েছে, যেখানে সম্পর্কগুলি প্রায়শই সুস্পষ্ট হয় না। আপনি হয় সমস্ত সম্ভাব্য বিকল্প লোড করতে হবে, বা ব্যবহারকারী কি করতে চলেছে তা অনুমান করা শুরু করবেন। অনুমান করা ব্যয়বহুল (উভয় বিকাশ এবং সিপিইউ) এবং প্রোগ্রামে জটিল জগাখিচুড়ি। নির্দিষ্ট উদাহরণ:
- ফাইলগুলি সংরক্ষণ করুন: ব্যবহারকারীকে সেভ স্ক্রিনে পৌঁছানোর আগে আপনার প্রতিটি সেভ ফাইল লোড করতে হবে বা অনুমান করুন যে তারা কোন ফাইলটি লোড করতে পারে (সর্বশেষ 5 ইত্যাদি)।
- ইউআই: আপনার কৌশল অনুসারে অনেক কৌশল গেমগুলি তাদের ইউআই পরিবর্তন করে। ব্যবহারকারীর গেমটি শুরু করার আগে আপনাকে প্রতিটি সম্ভাব্য ইউআই ডিজাইনটি লোড করতে হবে।
- গেম ওয়ার্ল্ড: মেকনক্রাফ্ট বা আরটিএস গেমের মতো পদ্ধতিগতভাবে উত্পন্ন গেমগুলিতে, সভ্যতার মতো, পৃথিবীর উপস্থিতি দেখা যায় না যতক্ষণ না দেখা যায়, ভিন্ন ভিন্ন মাত্রায় দেখা যায়। প্রি-লোডিং এটি অসম্ভব যেহেতু এগুলি শুরু করার অস্তিত্ব ছিল না; এগুলি প্রাক-গণনা সর্বোত্তমভাবে প্রাক লোডিংয়ের মতোই করা যেতে পারে এবং আরটিএস ক্ষেত্রে প্রযোজ্য নয়।
এগুলির কয়েকটি সম্পর্কে উপায় থাকতে পারে তবে এটি বাস্তব জীবনের অর্থ ব্যয় করতে পারে। বেশিরভাগ গেমার যুক্তিসঙ্গত লোডিং স্ক্রিন গ্রহণ করে এবং যদি কিছু থাকে তবে সেগুলি হ্রাস করার জন্য হার্ডওয়্যারে আরও বেশি ব্যয় করতে ইচ্ছুক থাকে। এটি একটি হার্ডওয়্যার ইস্যু হিসাবে দেখা হয় , খেলা নয় সমস্যা নয়, অস্বাভাবিকভাবে অতিরিক্ত বা অন্যথায় বাধাদানকারী (স্তরের মাঝখানে লোড করার মতো) না হলে।
এবং মনে রাখবেন, ব্যাকগ্রাউন্ড লোডিং বিনামূল্যে নয়। ব্যাকগ্রাউন্ড-লোডিং টেরিন এবং কিছু মডেল ফাইলগুলির আধুনিক ব্যবহার থেকে সাধারণত ন্যূনতম প্রভাব পাওয়া যায়, তবে আপনি যদি হঠাৎ করে অনেকগুলি বিভিন্ন সংস্থান সম্পর্কে অনুমান করে থাকেন, বিশেষত যদি আপনার কাছে নির্ভরযোগ্য মেট্রিক না থাকে এবং প্রচুর সংস্থানগুলি আনলোড করা হয় এবং অতিরিক্ত অতিরিক্ত লোড করতে হয় আপনি সিস্টেমটিকে ধূলিকণায় পরিণত করতে পারেন।
ব্যাকগ্রাউন্ড লোডিংয়ের ধারণাটি হ'ল মৃত চক্রটিকে আরও ভাল ব্যবহারের জন্য ব্যবহার করা, তবে কেবলমাত্র অনেক মৃত চক্র ব্যবহার করতে হবে। মেমরির ক্ষেত্রে একই হয় - প্রাক-লোডিং কোনও গেমের স্মৃতি ব্যবহার যথেষ্ট পরিমাণে বাড়িয়ে তুলতে পারে। লোডিং স্ক্রিনের সাহায্যে আপনি বিদ্যমান সংস্থানগুলিকে ডাম্প করতে পারবেন। ব্যাকগ্রাউন্ড লোডিংয়ের সাথে এর মতো কোনও বিলাসিতা নেই যার অর্থ এটি কেবল সেই গণিতে গেমের মেমরির প্রয়োজনকে দ্বিগুণ করতে পারে।