मैं this लेख पढ़ रहा था, और लेखक लिखते हैं:ओपनजीएल में प्रोग्राम प्रदर्शन के लिए खराब है?
यहाँ कैसे दो आसान चरणों में हर मंच पर उच्च प्रदर्शन अनुप्रयोगों लिखने के लिए है:
[...]
सर्वोत्तम प्रथाओं का पालन करें। एंड्रॉइड और ओपनजीएल के मामले में, इसमें "बैच ड्रॉ कॉल" जैसी चीजें शामिल हैं, "खंडों के टुकड़ों में त्यागें का उपयोग न करें", और इसी तरह।
मैंने कभी यह नहीं सुना है कि निष्कासन पर प्रदर्शन पर बुरा असर होगा या ऐसा, और विस्तृत अल्फा आवश्यक होने पर मिश्रण से बचने के लिए इसका उपयोग कर रहा है।
क्या कोई यह बता सकता है कि क्यों और कब छोड़ने का उपयोग खराब अभ्यास माना जा सकता है, और अल्फा + मिश्रण के साथ + गहराई से तुलना कैसे की जाती है?
संपादित करें: इस प्रश्न पर उत्तर प्राप्त करने के बाद मैंने पृष्ठभूमि के ढाल को पृष्ठभूमि के ढाल के साथ कुछ परीक्षण किया।
- GL_DEPTH_TEST और एक टुकड़ा-शेडर लाइन "
if( gl_FragColor.a < 0.5){ discard; }
" के साथ समाप्त होने का उपयोग दे दी है के बारे में 32 एफपीएस। - खंड-शेडर से if/discard कथन को हटाकर 44 fps पर प्रतिपादन गति में वृद्धि हुई।
- मिश्रण समारोह के साथ GL_BLEND का प्रयोग "(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)" GL_DEPTH_TEST के बजाय भी चारों ओर 44 एफपीएस हुई।
बहुत ही रोचक सवाल है, मुझे उम्मीद है कि कोई इसका जवाब दे पाएगा। – bvd