2011-08-30 12 views
5

मैं Ffmpeg का उपयोग कर एक ओपनजीएल वीडियो प्लेयर बना रहा हूं और मेरे सभी वीडियो 2 की शक्ति नहीं हैं (क्योंकि वे सामान्य वीडियो संकल्प हैं)। यह मेरे एनवीडिया कार्ड के साथ ठीक एफपीएस पर चलता है लेकिन मुझे पता चला है कि यह पुराने एटीआई कार्ड पर नहीं चलेगा क्योंकि वे गैर-शक्ति-दो बनावट का समर्थन नहीं करते हैं।शक्ति के दो बनावट कितनी कुशल हैं?

मैं केवल इसका उपयोग एनवीडिया कार्ड पर करूँगा, इसलिए मुझे वास्तव में बहुत अधिक समस्या की परवाह नहीं है, लेकिन मैं सोच रहा था कि टेक्स्टूवर शक्ति-2-2 में कितना प्रदर्शन बढ़ावा मिलेगा ? क्या उन्हें पैडिंग करना उचित है?

इसके अलावा, यदि यह इसके लायक है, तो मैं उन्हें निकटतम बड़ी शक्तियों में पैडिंग करने के बारे में कैसे जा सकता हूं?

उत्तर

3

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

2 बनावट की शुद्ध शक्ति का प्रदर्शन लाभ दृढ़ता से उपयोग किए जाने वाले हार्डवेयर पर निर्भर करता है, लेकिन चरम मामलों में यह 300% तक हो सकता है।

+0

ठीक है, मैं पहले से ही glTexSubImage2D() का उपयोग कर रहा हूं जैसा कि आप कहते हैं, लेकिन जब मैं glTexImage2D() के साथ बनावट को जोड़ता हूं, तो मुझे इसे दो की शक्ति के रूप में बनाना चाहिए और फिर glTexCoord2f() कॉल को केवल वीडियो "भाग दिखाने के लिए सॉर्ट करना चाहिए "अधिकतम दक्षता के लिए बनावट का? –

+0

यह काफी हद तक आपके ओपनजीएल कार्यान्वयन पर निर्भर करता है (जीपीयू पढ़ें)। हाल ही में जीपीयू के पास एनपीओ 2 के लिए एक बहुत ही छोटा प्रदर्शन हिट है – datenwolf