मैंने पढ़ा है कि खेल की वस्तुओं की गति को एफपीएस द्वारा बाधित नहीं किया जाना चाहिए, बल्कि समय पर आधारित होना चाहिए। मैं ड्राइंग दर को सीमित किए बिना प्रदर्शन को अधिकतम करने और समय के आधार पर एक निरंतर तर्क अद्यतन दर प्रदान करने के लिए अपडेट / ड्रा कोड को कैसे अलग कर सकता हूं?
मेरा वर्तमान छद्म कोड इस प्रकार है
loop
{
draw();
if (ticksElapsed() > 100)
{
update();
ticks+= ticksElapsed();
}
}
समस्या यह है कि ड्राइंग कोड अपडेट () दर के प्रदर्शन में बाधा डालता है। और यह 100% सीपीयू की खपत करता है क्योंकि यदि नींद अंदर फेंक दी जाती है, तो यह ड्राइंग / तर्क कार्यों दोनों को फेंक देता है।
मैं भी SDL का उपयोग कर रहा हूँ और यह एक vsync विकल्प नहीं है। मैंने निश्चित और परिवर्तनीय समय-चरण के बारे में भी सुना है लेकिन मुझे यकीन नहीं है कि नींद के साथ कैसे किया जा सकता है ()