मैं हाल ही में अपने खेल के साथ कुछ फ्रेम-रेट घबराने वाले मुद्दों के साथ काम कर रहा हूं, और ऐसा लगता है कि सबसे अच्छा समाधान क्लासिक फिक्स योर टाइमस्टेप में ग्लेन फिडलर (गेम्स पर गैफर) द्वारा सुझाया गया होगा ! लेख।
अब - मैं पहले से ही अपने अपडेट के लिए एक निश्चित समय-चरण का उपयोग कर रहा हूं। समस्या यह है कि मैं प्रतिपादन के लिए सुझाए गए प्रक्षेप नहीं कर रहा हूँ। यदि मेरा रेंडर रेट मेरे अपडेट रेट से मेल नहीं खाता है तो मुझे लगता है कि मुझे दोगुना या फ़्लिप किया गया है। ये दृष्टिगोचर हो सकते हैं।
इसलिए मैं अपने खेल में प्रक्षेप जोड़ना चाहूंगा - और मुझे यह जानने में दिलचस्पी है कि दूसरों ने इसका समर्थन करने के लिए अपने डेटा और कोड को कैसे संरचित किया है।
जाहिर है मुझे अपने रेंडर के लिए प्रासंगिक गेम स्टेट की जानकारी की दो प्रतियों को स्टोर (कहां? / कैसे?) करना होगा, ताकि यह उनके बीच अंतर हो सके।
इसके अतिरिक्त - यह थ्रेडिंग जोड़ने के लिए एक अच्छी जगह की तरह लगता है। मुझे लगता है कि एक अद्यतन थ्रेड खेल राज्य की तीसरी प्रति पर काम कर सकता है , अन्य दो प्रतियों को छोड़कर केवल रेंडर थ्रेड के लिए पढ़ा जा सकता है। (यह एक अच्छा विचार है?)
ऐसा लगता है कि खेल के राज्य के दो या तीन संस्करणों के प्रदर्शन को लागू कर सकते हैं और - अब तक सिर्फ एक संस्करण होने की तुलना में विश्वसनीयता और डेवलपर उत्पादकता की समस्याओं, - अधिक महत्वपूर्ण बात। इसलिए मैं उन मुद्दों को कम करने के तरीकों में विशेष रूप से दिलचस्पी रखता हूं।
विशेष रूप से, मुझे लगता है, खेल राज्य से वस्तुओं को जोड़ने और हटाने के तरीके को संभालने की समस्या है।
अंत में, ऐसा लगता है कि कुछ राज्य को प्रतिपादन के लिए सीधे या तो आवश्यक नहीं है, या इसके विभिन्न संस्करणों को ट्रैक करना बहुत मुश्किल होगा (जैसे: एक तृतीय-पक्ष भौतिकी इंजन जो एक राज्य को संग्रहीत करता है) - इसलिए मुझे यह जानने में दिलचस्पी होगी कि कैसे लोगों ने ऐसी प्रणाली के भीतर उस तरह के डेटा को संभाला है।