2009-02-16 16 views
6

मैं विंडोज एक्सपी के लिए ओपनजीएल एप्लीकेशन विकसित कर रहा हूं। लक्ष्य मशीन में 2 एनवीआईडीआईए जेफफोर्स 9800 जीटी वीडियो कार्ड हैं, जिनकी आवश्यकता है क्योंकि एप्लिकेशन को एनालॉग वीडियो के आउटपुट 2 स्ट्रीम की आवश्यकता होती है।एकाधिक वीडियो कार्ड के साथ विंडोज एक्सपी में ओपनजीएल प्रतिपादन

एप्लिकेशन में दो ओपनजीएल विंडो हैं, प्रत्येक वीडियो कार्ड के लिए एक। प्रत्येक वीडियो कार्ड एक मॉनिटर से जुड़ा हुआ है। कोड के लिए, यह minimal OpenGL example पर आधारित है।

मुझे कैसे पता चलेगा कि एप्लिकेशन प्रतिपादन के लिए दोनों वीडियो कार्ड का उपयोग कर रहा है या नहीं?

फिलहाल, मुझे कोई परवाह नहीं है कि एप्लिकेशन केवल विंडोज एक्सपी या केवल एनवीआईडीआईए वीडियो कार्ड के साथ चलता है, मुझे बस यह जानने की जरूरत है कि दोनों कैसे काम कर रहे हैं।

+0

सुनिश्चित नहीं है कि आपके पास पहले से ही इस प्रश्न का उत्तर है, लेकिन फिर भी आपको कुछ पॉइंटर्स प्रदान किए गए हैं जो मदद कर सकते हैं। – ralphtheninja

उत्तर

4

मुझे लगता है कि आपको WGL_nv_gpu_affinity एक्सटेंशन पर पढ़ने की आवश्यकता है। आप एफ़िनिटी मास्क बनाते हैं और उनके साथ संयोजन में wglMakeCurrent() का उपयोग करते हैं। यहाँ कुछ संकेत दिए गए हैं:

http://developer.download.nvidia.com/opengl/specs/WGL_nv_gpu_affinity.txt

Pdf from NVidia.com

चीयर्स!

+1

जीपीयू एफ़िनिटी Geforce पर समर्थित नहीं है। विकल्प लिनक्स हैं, या प्रत्येक संलग्न स्क्रीन पर एक विंडो बनाते हैं और GPU को 'मास्किंग' नहीं करते हैं। संपादित करें: या यदि आपका एप्लिकेशन इसके साथ स्केल करता है तो एसएलआई को सक्रिय करें। एनवीडिया वेबसाइट में एसएलआई के साथ किस प्रकार के वर्कलोड स्केल पर दस्तावेज है। – eile

1

मुझे लगता है कि आप OpenGL आधारित अनुप्रयोगों के लिए gDEBugger से ऐसी जानकारी प्राप्त कर सकते हैं।

यदि यह आपके कार्ड दोनों का उपयोग नहीं करता है, तो आप समांतर प्रतिपादन के लिए Equalizer देख सकते हैं, यह एक शानदार प्रोजेक्ट है।

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