सबसे अच्छा जवाब है: यह निर्भर करता है ।
आपको न तो किसी को सीमित करना होगा
अपडेट : यदि आपके अपडेट ऊपरी सीमा से बंधे नहीं हैं, तो गेम लॉजिक को एक डेल्टा समय राशि पर निर्भर होना चाहिए , जहां मशीन को चलाने के आधार पर गेम को तेज या धीमा चलाने से बचें। यह कई खेलों द्वारा उपयोग किया जाने वाला एक बहुत ही सामान्य तरीका है, लेकिन यह केवल एक ही नहीं है।
प्रतिपादन : यदि प्रतिपादन एक ऊपरी सीमा तक बाध्य नहीं है, तो फ्रेमबफ़र को अपूर्ण या गलत स्थिति में प्रस्तुत किया जा सकता है, जिससे कलाकृतियों को फाड़ दिया जा सकता है । यही कारण है कि कई खेल वर्टिकल सिंक्रोनाइज़ेशन (वी-सिंक) को नियोजित करते हैं
आप दोनों को सीमित कर सकते हैं
अपडेट : कुछ गेम कुछ या सभी गेमप्ले सिस्टम के लिए निश्चित टाइमस्टेप का उपयोग करते हैं। यह तरीका ठीक वैसे ही काम करता है जैसा आपने बताया है। अद्यतन प्रति सेकंड की संख्या ऊपरी सीमा तक सीमित है ताकि यह सुनिश्चित हो सके कि चीजें शीर्ष पायदान मशीन पर बहुत तेजी से नहीं चलती हैं। यह डेल्टा टाइमिंग की आवश्यकता को हटा देता है। कुछ एप्लिकेशन फिक्स्ड टाइमस्टेप्स के साथ बेहतर हैं, कुछ डेल्टा टाइमिंग के साथ। कौन सा दृष्टिकोण चुनना पूरी तरह से इस बात पर निर्भर करेगा कि आप वास्तव में क्या हासिल करना चाहते हैं। ऑनलाइन पुस्तक GameProgrammingPatterns में गेम लूप्स को समर्पित एक अध्याय है जो दोनों आर्किटेक्चर पर छूता है।
रेंडरिंग : फ़्रेम्स प्रति सेकंड फ़ॉर्वर्डिंग फाड़ की समस्या से बचने के लिए एक ऊपरी सीमा पर सेट किया जाना चाहिए, हालांकि, आपके एप्लिकेशन को मैन्युअल रूप से कुछ सीपीयू लॉक के साथ ऐसा करने का प्रयास नहीं करना चाहिए । इसके बजाय, वी-सिंक को सक्षम करें और अंडरलेइंग हार्डवेयर को मॉनिटर की ताज़ा दर के साथ सिंक्रनाइज़ करें। ऐसा करने से, आपका गेम भविष्य के मॉनिटर के साथ संगत होगा जो कि बहुत अधिक आवृत्ति पर काम कर सकता है जो वर्तमान में आम तौर पर 60Hz है। यह भी ध्यान देने योग्य है कि कई गेमर्स, विशेष रूप से बेंचमार्किंग में, उच्चतम उच्चतम फ्रेम दर की अनुमति देने के लिए अभी भी वी-सिंक के बिना चलना पसंद करते हैं। इसलिए रनटाइम के दौरान सुविधा को सक्षम या अक्षम करने की अनुमति देना समझदारी है।
आपको क्या सीमित नहीं करना चाहिए
यदि आपका गेम उपयोगकर्ता इनपुट के लिए एक मतदान-आधारित दृष्टिकोण का उपयोग करता है, उदाहरण के लिए: getInput()
अद्यतन चरण के दौरान नियंत्रक राज्यों को अपडेट करने के लिए कई तरह के कॉल करता है, तो यह सीमित नहीं है तो बेहतर है। या अगर सीमित है, तो एक बहुत उच्च ऊपरी सीमा पर सेट करें। जितनी बार आप उपयोगकर्ता इनपुट को क्वेरी करते हैं और उस पर कार्य करते हैं, उतना ही उत्तरदायी और चिकनी गेम "महसूस" करेगा। तथाकथित 60Hz गेम जो हम आजकल सुनते हैं, उस दर पर AI और सभी विश्व राज्यों को अपडेट नहीं कर रहे हैं, कुछ भी उस तेजी से प्रतिपादन नहीं कर रहे हैं, लेकिन वे प्रति सेकंड कम से कम 60 बार नियंत्रक इनपुट को क्वेरी करते हैं और तदनुसार खिलाड़ी अवतार को अपडेट करते हैं। दी है कि यह केवल तेजी से पुस्तक कार्रवाई खेल के लिए प्रासंगिक है।