ओपनजीएल फ़ंक्शंस को परिभाषित किया गया है कि वे सिंक्रनाइज़ेशन करते हैं। लेकिन प्रतिपादन कार्यों (और अन्य) को अक्सर GPU द्वारा असीमित रूप से निष्पादित किया जाएगा। ओपनजीएल प्रभावी रूप से इसे छुपाएगा: यदि आप ऐसा कुछ करते हैं जिसके लिए एक ऑपरेशन के परिणाम की आवश्यकता होती है (जैसे कि फ्रेमबफर से पढ़ा गया है), ओपनजीएल CPU ऑपरेशन को तब तक रोक देगा जब तक GPU उस बिंदु तक नहीं पहुंच जाता है।क्या यह बताने का कोई तरीका है कि ओपनजीएल ऑपरेशन समाप्त हो गया है या नहीं?
यह कार्यात्मक है, लेकिन प्रदर्शन के लिए शायद ही आदर्श है, क्योंकि सीपीयू मूल रूप से GPU होने तक अवरुद्ध हो जाता है। क्या यह निर्धारित करने का एक तरीका है कि कोई विशेष ऑपरेशन पूरा हो गया है, ताकि आप जान सकें कि एक निर्भर ऑपरेशन को इतनी सीपीयू अवरोधन के बिना निष्पादित किया जाएगा?
महान प्रश्न। लेकिन क्या यह ठीक है और एक ही समय में जवाब देना ठीक है? ;) इसके अलावा, क्या इस तरह की एक सिंक जांच पाइपलाइन पर अधिक अनावश्यक ओवरहेड जोड़ नहीं सकती है? –
@ माइकेलिव: "* लेकिन क्या यह एक ही समय में पूछना और जवाब देना ठीक है? *" हां। यही कारण है कि, जब आप एक प्रश्न पूछते हैं, तो नीचे एक बॉक्स है जो आपको इसे पूछने से पहले जवाब देने की अनुमति देता है। "अनावश्यक ओवरहेड" जोड़ने के लिए, बाड़ काफी हल्के वजन होने की उम्मीद है। आंतरिक चालक प्रक्रिया हर समय बाड़ का उपयोग करती है, ताकि * जब आप एक बफर ऑब्जेक्ट के साथ किया जाए तो आगे * बताएं। –