2010-06-21 10 views
8

तो मैं सामान्य रूप से ओपनजीएल और जीपीएस और ग्राफिक्स के बारे में बहुत कुछ पढ़ रहा हूं, और ट्रिपल बफरिंग को अर्ध-बार-बार एक मुफ्त प्रदर्शन बढ़ावा देने के रूप में वर्णित किया जाता है। मुझे पता है कि यह क्यों मदद करता है; असल में, आप 60 या 30 या 20 या 15 या आदि की फ़्रेमेट पसंद तक सीमित किए बिना वी-सिंक कर सकते हैं, ताकि आप वास्तव में 55fps कह सकें। लेकिन क्या वास्तव में इसकी लागत है? सहजता से, मैं एक फ्रेम द्वारा उत्पादन में देरी करने के लिए ट्रिपल बफरिंग की अपेक्षा करता हूं, जो सब कुछ के लिए एक बहुत छोटा अंतराल जोड़ता है।ट्रिपल बफरिंग वास्तव में एक मुफ्त प्रदर्शन बढ़ावा है?

उत्तर

6

55 एफपीएस पर, एक फ्रेम 20ms से कम है। तो यह काफी मुफ़्त नहीं है, लेकिन यह लगभग हमेशा लागत के लायक है।

15 एफपीएस पर, हालांकि, यह बहुत ध्यान देने योग्य हो सकता है। (बीटीडब्लू, यह एक पीओएस लैपटॉप है। अधिकांश 3 डी गेम मेरे लिए तेज़ गति से चलते हैं। कुछ भी धीमे होते हैं।)

कुछ लोग अंतराल को देखते हैं, खासकर कम फ्रेम दर पर, और कभी-कभी ट्रिपल बफरिंग काफी काम नहीं करती है अपेक्षित होना। (ओपनजीएल में, विशेष रूप से, जो हार्डवेयर द्वारा अच्छी तरह से समर्थित नहीं है, वह वापस आ सकता है (संभावित रूप से बहुत धीमा) सॉफ़्टवेयर इम्यूलेशन। इन दिनों कोई समस्या नहीं होनी चाहिए, लेकिन एह।) तो ट्रिपल बफरिंग का उपयोग करने वाले अधिकांश प्रोग्राम भी इसे अक्षम करने के लिए एक विकल्प शामिल करें। आप ऐसा करने पर विचार करना चाह सकते हैं।

5

अक्केन-मोलर और अन्य द्वारा उत्कृष्ट "रीयल-टाइम रेंडरिंग" पुस्तक (http://www.realtimerendering.com/) से उद्धरण, पृष्ठ 835, जो आपके प्रश्न के उत्तर में पहले से ही सुझाव दिया गया है, जो काफी हद तक बताता है, अंतराल पर विचार करते हुए: जबकि खड़ी retrace के लिए इंतज़ार कर

"ट्रिपल बफरिंग डबल बफरिंग के ऊपर एक प्रमुख लाभ दिया है। यह का उपयोग करना, प्रणाली लंबित बफर उपयोग कर सकते हैं। डबल बफरिंग के साथ, एक स्वैप ग्राफ़िक्स पाइपलाइन रोकने कर सकते हैं। [... ] ट्रिपल बफरिंग का दोष यह है कि विलंबता एक पूरे फ्रेम तक बढ़ जाती है। यह वृद्धि उपयोगकर्ता इनपुट की प्रतिक्रिया में देरी करती है, जैसे कीस्ट्रोक और माउस या जॉयस्टिक चालें। "

संबंधित मुद्दे