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