मुझे लगता है कि आप पहले से ही एक समाधान करने के लिए आ गया है, लेकिन मैंने सोचा कि यह जो इस सवाल पर आता है किसी और के लिए अपने खुद के हाल के अनुभवों में फेंक करने के लिए अच्छा होगा ...
हाँ, आप कर सकते हैं किसी भी प्रक्रिया से एडाप्टर और आउटपुट की किसी भी संख्या को ड्राइव करें।
DXGI और DX11 में:
प्रत्येक ग्राफिक्स कार्ड एक "एडाप्टर" है यहाँ कुछ जानकारी है कि उपयुक्त हो सकती हैं। प्रत्येक मॉनिटर एक "आउटपुट" है। इनके माध्यम से गणना के बारे में अधिक जानकारी के लिए here देखें।
एक बार जब आप एडाप्टर का उपयोग करना चाहते हैं तो पॉइंटर्स हो जाएं, तो प्रत्येक एडाप्टर के लिए D3D11CreateDevice का उपयोग करके एक डिवाइस (ID3D11Device) बनाएं। शायद आप अपने प्रत्येक डिवाइस के साथ बातचीत के लिए एक अलग थ्रेड चाहते हैं। इस धागे में एक विशिष्ट प्रोसेसर एफ़िनिटी हो सकती है यदि इससे आपके लिए चीजों की गति में मदद मिलती है।
प्रत्येक एडाप्टर के पास अपना डिवाइस होने के बाद, प्रत्येक आउटपुट के लिए swap chain और render target बनाएं। आप प्रत्येक आउटपुट के लिए भी create your depth stencil view पर भी हो सकते हैं।
एक स्वैप श्रृंखला बनाने की प्रक्रिया के लिए आपके विंडोज़ सेट अप की आवश्यकता होगी: प्रति आउटपुट एक विंडो। मुझे नहीं लगता कि से स्वैप श्रृंखला वाली विंडो में आपके प्रतिपादन को चलाने में बहुत लाभ है। आप अपनी स्वैप श्रृंखला के लिए मेजबान के रूप में विंडो बना सकते हैं और फिर पूरी तरह से बाद में उनके बारे में भूल सकते हैं।
प्रतिपादन के लिए, आपको प्रत्येक डिवाइस के प्रत्येक आउटपुट के माध्यम से पुनरावृत्त करने की आवश्यकता होगी। प्रत्येक आउटपुट के लिए OMSetRenderTargets का उपयोग कर वर्तमान आउटपुट के लिए बनाए गए लक्ष्य को प्रस्तुत करने के लिए डिवाइस के रेंडर लक्ष्य को बदलें। दोबारा, यदि आप चाहें तो प्रत्येक डिवाइस को एक अलग थ्रेड पर चलाया जा सकता है, इसलिए प्रत्येक थ्रेड/डिवाइस जोड़ी के प्रतिपादन के लिए आउटपुट के माध्यम से अपना पुनरावृत्ति होगा।
Display Different images per monitor directX 10
DXGI and 2+ full screen displays on Windows 7
http://msdn.microsoft.com/en-us/library/windows/desktop/ee417025%28v=vs.85%29.aspx#multiple_monitors
गुड लक:
यहाँ लिंक है कि सहायक हो सकता है जब इस प्रक्रिया से गुजर रही का एक समूह रहे हैं!
स्रोत
2013-03-16 21:38:29
क्या आप विक्रेता पुस्तकालयों का उपयोग कर रहे हैं?वीआरएएम उपयोग और स्थानांतरण एक proc/कई के साथ क्या दिखता है? क्या आप प्रत्येक कार्ड पर फुलस्क्रीन अनन्य चल रहे हैं, और क्या यह कुछ भी नहीं बदलता है? क्या आप सभी को एक साथ फ्रेम भेज रहे हैं (एकाधिक रेंडर थ्रेड)? – ssube
@peachykeen: यह सी ++ से डायरेक्टएक्स का उपयोग कर रहा है। हमने कुछ शुरुआती परीक्षण किए हैं लेकिन एक हफ्ते तक कोर काम शुरू नहीं करेंगे, इसलिए मैंने सोचा कि मैं अब यह सवाल पूछूंगा कि क्या कोई वहां जवाब देने के लिए हुआ है - हमने नहीं किया है किसी भी गहराई से प्रोफाइलिंग या डिबगिंग अभी तक। हमें खिड़की वाले मोड में चलाने की जरूरत है क्योंकि हम डेस्कटॉप ऐप हैं, और प्रत्येक विंडो को अपने धागे से स्वतंत्र रूप से प्रस्तुत किया जा रहा है (जो धीरे-धीरे rensders) या प्रक्रिया (जो तेजी से प्रस्तुत करता है)। हम कई प्रक्रियाओं पर हमारे प्रतिपादन को विभाजित कर सकते हैं, लेकिन यह आवश्यक नहीं होना चाहिए। –
क्या आपके पास VSync सक्षम है? वास्तव में मैंने आपके जैसा ही उपयोग केस (लगभग) में कुछ गंभीर मंदी देखी है। VSync के बिना यह ठीक है। – catflier