সাধারণত, আপনি মেমরির বাইরে চলে না। গেমের মতো বৃহত এবং জটিল সফ্টওয়্যারটির একমাত্র বুদ্ধিমান বিকল্পটি হ'ল যত তাড়াতাড়ি সম্ভব আপনার মেমোরি বরাদ্দকারীর ক্রাশ / দৃsert়তা / সমাপ্তি (বিশেষত ডিবাগ বিল্ডগুলিতে)। মেমরির বাইরে থাকা শর্তগুলির জন্য কিছু কোর সিস্টেম সফ্টওয়্যার বা সার্ভার সফ্টওয়্যারটির জন্য পরীক্ষা করা হয় এবং পরিচালনা করা হয় তবে সাধারণত অন্য কোথাও হয় না।
আপনার যখন একটি উচ্চতর মেমরি ক্যাপ থাকে তখন পরিবর্তে কেবলমাত্র নিশ্চিত করুন যে আপনার কখনই সেই পরিমাণ মেমরির চেয়ে বেশি দরকার নেই। উদাহরণস্বরূপ আপনি একযোগে সর্বাধিক সংখ্যক অনুমোদিত এনপিসি রাখতে পারেন এবং ক্যাপটি আঘাতের পরে কেবল নতুন অ-অপরিহার্য এনপিসি তৈরি করা বন্ধ করে দিতে পারেন। অপরিহার্য এনপিসিগুলির জন্য আপনি সেগুলি অপ্রয়োজনীয়গুলিকে প্রতিস্থাপন করতে পারেন বা আপনার ডিজাইনাররা চারপাশে নকশা করতে জানেন এমন প্রয়োজনীয় এনপিসিগুলির জন্য পৃথক পুল / ক্যাপ রাখতে পারেন (উদাহরণস্বরূপ যদি আপনার কেবল 3 টি প্রয়োজনীয় এনপিসি থাকতে পারে, ডিজাইনাররা 3 টির বেশি রাখবেন না একটি অঞ্চল / খণ্ড - ভাল সরঞ্জাম ডিজাইনারদের এটি সঠিকভাবে করতে সহায়তা করবে এবং পরীক্ষা অবশ্যই করা জরুরি)।
একটি সত্যই ভাল স্ট্রিমিং সিস্টেম বিশেষত স্যান্ডবক্স গেমগুলির জন্যও গুরুত্বপূর্ণ। আপনার সমস্ত এনপিসি এবং আইটেমগুলিকে মেমোরিতে রাখার দরকার নেই। আপনি বিশ্বের বিভিন্ন অংশের সাথে সরানোর সাথে সাথে নতুন অংশগুলি প্রবাহিত হবে এবং পুরানো খণ্ডগুলি প্রবাহিত হবে। এর মধ্যে সাধারণত এনপিসি এবং আইটেমের পাশাপাশি ভূখণ্ড অন্তর্ভুক্ত থাকবে। আইটেমের সীমাতে নকশা এবং ইঞ্জিনিয়ারিং ক্যাপগুলি এই সিস্টেমে মাথায় রেখে সেট করা দরকার, জেনে যে সর্বাধিক এক্স পুরানো অংশগুলি রাখা হবে এবং সক্রিয়ভাবে সক্রিয়ভাবে লোড করা নতুন নতুন অংশগুলি বোঝা হবে, সুতরাং গেমটি সমস্ত রাখার জন্য স্থান থাকা দরকার এক্স + ওয়াই + 1 এর তথ্য মেমোরিতে রয়েছে।
কিছু গেমস দ্বিমুখী পদ্ধতির সাথে মেমরির বাইরে থাকা পরিস্থিতিগুলি পরিচালনা করার চেষ্টা করে। এটি মনে রেখে যে বেশিরভাগ গেমগুলিতে প্রচুর প্রযুক্তিগতভাবে অপ্রয়োজনীয় ক্যাশেড ডেটা থাকে (বলে, উপরে উল্লিখিত পুরানো খণ্ডগুলি) এবং একটি মেমরি বরাদ্দকরণ এর মতো কিছু করতে পারে:
allocate(bytes):
if can_allocate(bytes):
return internal_allocate(bytes)
else:
warning(LOW_MEMORY)
tell_systems_to_dump_caches()
if can_allocate(bytes):
return internal_allocate(bytes)
else:
fatal_error(OUT_OF_MEMORY)
মুক্তির ক্ষেত্রে অপ্রত্যাশিত পরিস্থিতি মোকাবিলার এটি একটি শেষ-স্টপ ব্যবস্থা, তবে ডিবাগিং এবং পরীক্ষার সময় আপনার সম্ভবত অবিলম্বে ক্রাশ হওয়া উচিত। আপনি এই ধরণের স্টাফের উপর নির্ভর করতে চান না (বিশেষত কারণ ক্যাশে ফেলে দেওয়ার কিছু গুরুতর কার্যকারিতা হতে পারে)।
আপনি কিছু ডেটার উচ্চ-রেজোলিউশন অনুলিপিগুলি ডাম্প করার বিষয়টিও বিবেচনা করতে পারেন, উদাহরণস্বরূপ আপনি যদি জিপিইউ মেমরির (বা কোনও অংশীদারি-মেমরি আর্কিটেকচারের কোনও মেমরি) কম চালিয়ে যান তবে আপনি উচ্চতর-রেজোলিউশন মাইপম্যাপ স্তরগুলিকে ডাম্প করতে পারেন। যদিও এটির মূল্যের জন্য এটিতে প্রচুর স্থাপত্যকর্ম প্রয়োজন।
নোট করুন যে কিছু খুব সীমাহীন স্যান্ডবক্স গেমগুলি কেবল সহজেই পিসিতে সহজেই ক্র্যাশ করা যেতে পারে (মনে রাখবেন যে সাধারণ 32-বিট অ্যাপ্লিকেশনগুলিতে অ্যাড্রেস স্পেসের 2-3 গিগাবাইটের সীমা রয়েছে যদিও আপনার 128 গিগাবাইট র্যামের পিসি থাকলেও একটি 64- বিট ওএস এবং হার্ডওয়্যার আরও 32-বিট অ্যাপ্লিকেশনগুলিকে একই সাথে চলতে দেয় তবে 32-বিট বাইনারিটিকে আরও বড় স্পেস স্পেস রাখার জন্য কিছুই করতে পারে না)। শেষ পর্যন্ত, আপনার হয় একটি খুব নমনীয় গেম ওয়ার্ল্ড যা প্রতিটি ক্ষেত্রে চালানোর জন্য আনবাউন্ডেড মেমোরি স্পেসের প্রয়োজন হবে বা আপনার খুব সীমিত এবং নিয়ন্ত্রিত বিশ্ব রয়েছে যা সর্বদা সীমাবদ্ধ মেমোরিতে (বা এর মধ্যবর্তী কোনও জায়গায়) পুরোপুরি কাজ করে।