2015-04-13 7 views
5

मैं एफपीएस बढ़ाने के लिए एएफआर मोड में एसएलआई का उपयोग करने का लक्ष्य रख रहा हूं। मैं इस धारणा के तहत हूं कि एनवीआईडीआईए एसएलआई चालक अलग-अलग जीपीयू को स्वचालित रूप से और बुद्धिमानी से वीबीओ आवंटित करेगा। क्या ये सही है?एसएलआई कैसे तय करता है कि कौन सा वीबीओ ओपनजीएल में जीपीयू से संबंधित है?

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

मैं वीएओ और वीबीओ को एक ही शिखर/चेहरे के साथ डुप्लिकेट करता हूं और दो वीएओ के बीच glDrawElements कॉल को वैकल्पिक करता हूं, उम्मीद है कि एनवीआईडीआईए एसएलआई चालक एक जीएयू के लिए एक वीएओ जानता है, लेकिन दुर्भाग्यवश अभी भी कोई एफपीएस वृद्धि नहीं है। क्या कोई मुझे बता सकता है कि मैंने क्या गलत किया?

मैंने वीएओ में से किसी एक के लिए glDrawElements कॉल में से एक को टिप्पणी करने का भी प्रयास किया, और यह वास्तविक दृश्य और ब्लैक स्क्रीन के साथ डबल एफपीएस और फ्लिकरिंग दृश्य दिखाता है।

+0

आपको क्या फ्रेमरेट आंकड़े मिलते हैं? यदि आप बहुत ही सरल ज्यामिति बना रहे हैं, तो संभवतः आप सीपीयू द्वारा बाहर निकल गए हैं, न कि GPU। इसके अलावा एसएलआई केवल अपनी मांसपेशियों को ही चला सकता है यदि आपके पास एक जटिल जटिल दृश्य है जहां एक ही फ्रेम को एक जीपीयू के लिए एक मॉनिटर रीफ्रेश चक्र की तुलना में अधिक समय लगता है। – datenwolf

+0

@ डेटनवॉल्फ मैं जो एफपीएस प्राप्त कर रहा हूं वह लगभग 25 ~ 30 है, दृश्य एक प्लाई फ़ाइल से है और मैं इसे चित्रित कर रहा हूं। बहुत सारे शिखर/चेहरे हैं लेकिन कोई प्रकाश/छाया आदि नहीं हैं इसलिए मुझे यकीन नहीं है कि यह "जटिल" है या नहीं। एक बात मुझे यकीन है कि अगर मैं केवल आधे अक्षरों/चेहरों को दोगुना करता हूं तो एफपीएस दोगुनी हो जाती है। एसएलआई इस तरह के परिदृश्य में मदद नहीं करनी चाहिए? – user3667089

उत्तर

1

उल्लेख here के रूप में,

यह उल्लेखनीय है कि आवृत्ति, जिस पर फ्रेम पहुंचें हो सकता है, जबकि दोगुनी है, समय सीमा का निर्माण करने के

साथ ही कम नहीं है, मैं कभी नहीं सुना है वीएओ या वीबीओ के बारे में जो एक जीपीयू को समर्पित किया गया है। जहां तक ​​मुझे पता है, दोनों एडाप्टर के पास एक ही क्लोन बफर हैं। डुप्लिकेशंस आपके बिना यह जानने के भी होता है, और प्रत्येक GPU फ्रेम के अपने हिस्से का उत्पादन करने के लिए अपनी प्रति का उपयोग करता है। मैं गलत हो सकता हूं, लेकिन मुझे शक है।

यही कारण है कि यदि आपके पास 2x2 जीबी वीआरएएम एडाप्टर हैं, तो आपको 4 जीबी वीआरएएम नहीं मिलता है। आप अभी भी 2 जीबी के साथ काम कर रहे हैं। इसके अलावा, यदि आपके एसएलआई एडाप्टर अलग-अलग क्षमता के हैं, तो बड़े कार्ड की स्मृति को छोटे से संरेखित करने के लिए कम किया जाता है। आपके द्वारा प्राप्त किए जाने वाले सभी प्रदर्शन बूस्ट दो जीपीयू की समांतर प्रसंस्करण शक्ति से हैं, और तथ्य यह है कि आपकी मेमोरी बैंडविड्थ दो गुना बड़ी है। मेमोरी लिखते हैं हार्डवेयर मल्टीकास्टेड, जहां तक ​​मुझे पता है, तो वहां कोई बड़ा ओवरहेड नहीं है।

संपादित करें: Read these interesting points about SFR and AFR। यह पता चला है कि भारी कशेरुक भार के लिए एएफआर की सिफारिश की जाती है, जबकि एसएफआर पिक्सेल शेडर लोड के लिए बेहतर है। यह मेरे लिए भी एक दिलचस्प खोज था। एएफआर का उपयोग करते समय, आपको यह भी सुनिश्चित करना चाहिए कि आप इससे अधिक लाभ उठाने के लिए डबल buffered हैं। कई बफर की कमी सचमुच एएफआर को मार देती है। अपने बनाम बंद करें - यह भी इसे मारता है!

+0

मैंने एसएफआर मोड में स्विच किया और कोई प्रदर्शन बढ़ावा नहीं है। क्या आप सुझाव दे रहे हैं कि एफपीएस को स्मृति बैंडविड्थ द्वारा सीमित किया जा सकता है? सीपीयू मेमोरी से डेटा को कॉपी करने में काफी समय लगा, लेकिन यह एक बार ऑपरेशन है। क्या आप विस्तार से बता सकते हैं कि एफपीएस को स्मृति बैंडविड्थ द्वारा क्यों सीमित किया गया है? – user3667089

+1

क्या आप अभी भी "वीओओ और वीबीओ को एक ही शिखर/चेहरों के साथ डुप्लिकेट कर रहे हैं और वैकल्पिक रूप से दो वीएओ के बीच glDrawElements कॉल को कॉल करते हुए उम्मीद करते हैं कि एनवीआईडीआईए एसएलआई ड्राइवर एक चालाक के लिए एक वीएओ के लिए पर्याप्त चालाक होगा"? –

+0

मैंने गैर-डुप्लिकेट और डुप्लिकेट दोनों की कोशिश की, और एफपीएस अभी भी वही है – user3667089

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

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