2010-07-18 15 views
8

मुझे एक ऐसा एप्लिकेशन लिखने के लिए कहा गया है जो एक बहुत ही बड़ा एप्लीकेशन होगा, (9 स्पष्ट रूप से) एक बहुत उच्च रिज़ॉल्यूशन पर 9 स्क्रीन का विस्तार करेगा।WPF में आप एकाधिक स्क्रीन के लिए एप्लिकेशन कैसे लिखते हैं?

मेरा सवाल है, ऐसा करने के लिए जाने का सबसे अच्छा तरीका क्या है?

क्या मैं सिर्फ एक एप्लिकेशन लिखता हूं (1024x3) x (768x3)? विकास के समय मैं पृथ्वी पर कैसे कर सकता हूं? मैं एप्लिकेशन को चलाने में सक्षम नहीं हूं, या शायद मैं RenderTransform के साथ विकसित कर सकता हूं कि स्केल 1024x768 पर वापस आ गया है और तैनाती के समय उस परिवर्तन को हटा देता है?

सिस्टम के प्रदर्शन के बारे में क्या? हमारे पास एक महान ग्राफिक्स कार्ड के साथ एक बहुत शक्तिशाली पीसी होगा, लेकिन क्या WPF इस आकार के एप्लिकेशन के साथ ठीक से निपटने में सक्षम होगा?

+0

क्या 9 (या अधिक) अलग-अलग रूप/खिड़कियां या एक या दो रूप/खिड़कियां हैं जिन्हें बहुत अधिक रिज़ॉल्यूशन पर प्रदर्शित करने की आवश्यकता है? – ChrisF

+0

हम मूल रूप से एक स्क्रीन के रूप में 9 स्क्रीन का इलाज कर रहे हैं यदि यह समझ में आता है ... – Mark

+0

वास्तव में नहीं;) क्या यह 9 अलग-अलग खिड़कियां हैं - प्रत्येक स्क्रीन के लिए एक। उस स्थिति में आप प्रत्येक को एक अलग "पूर्ण स्क्रीन" एप्लिकेशन के रूप में देख सकते हैं। – ChrisF

उत्तर

1

मैंने दो साल पहले ऐसा ऐप लिखा है (यह ऐप से अधिक हैक था लेकिन ग्राहक इसके साथ खुश था)।

मैंने प्रत्येक स्क्रीन के लिए एक खिड़की के लिए उपयोग किया था और एक कॉन्फ़िगरेशन था जो खिड़कियों को स्क्रीन पर मैप किया था (मेरे पर्यावरण में, सभी मॉनीटरों के समान संकल्प नहीं थे)। मैंने स्केलिंग भी इस्तेमाल किया ताकि मैं एक ही स्क्रीन पर (मेरी देव मशीन पर) सभी खिड़कियां रख सकूं।

जैसा कि मुझे याद है कि हमारे पास लगभग पांच या छह पीसी और 20 से अधिक स्क्रीन हैं। कुछ पीसी में एनवीडिया क्वाड-ग्राफिक्स कार्ड थे, अन्य ने केवल दो मॉनीटरों की सेवा की थी।

मुझे याद है कि क्वाड-ग्राफिक्स कार्ड का प्रदर्शन बहुत कम था। अच्छा दृश्य प्रभाव शामिल करना संभव नहीं था। मेरी परियोजना में यह एक बड़ा मुद्दा नहीं था और इसलिए मैंने इतने धीमे होने के कारणों में गहराई से खोला नहीं। शायद यह केवल एक विन्यास समस्या थी। लेकिन डेवलपिंग के लिए बहुत समय निवेश करने से पहले इस तरह के मल्टी-मॉनिटर-पीसी पर कुछ परीक्षण करना सुनिश्चित करें, इसके बाद टिप्पणी करें कि उस ऐप का दृश्य दृश्यमानता के कारण उपयोग नहीं किया जा सकता है।

अपने अनुप्रयोग दृश्य परिवर्तन का एक बहुत कुछ करना होगा और आप उन्हें एक स्वीकार्य फ़्रेमरेट में यहाँ कुछ thoughs को देखने के लिए, चाहते हैं: ग्राफिक्स कार्ड प्रत्येक स्क्रीन के लिए hw-rendering समर्थन करता है तो

  • चेक। यदि नहीं, तो 9 0 स्क्रीन के लिए दर भरेंगी और प्रदर्शन नीचे जायेगा।
  • अपनी प्रोजेक्ट के लिए, आमतौर पर ड्रॉपशैडोइफेक्ट जैसे प्रभावों से सावधान रहें। वे गंदे क्षेत्रों की गणना को इस तरह प्रभावित कर सकते हैं कि पूरे स्क्रीन या बड़े क्षेत्र पुनर्निर्मित होंगे। perforator का उपयोग करके यह सुनिश्चित करने के लिए कि कोई अनावश्यक चित्र नहीं होंगे। यह घातक होगा।
  • यदि आप बड़ी स्क्रीन को छोटे से विभाजित कर सकते हैं, तो मैं अनुशंसा करता हूं (प्रति विंडो एक विंडो)। यह आपको encouter समस्याओं की स्थिति में अधिक लचीलापन देता है। यदि का प्रतिपादन कुछ क्षेत्रों के लिए स्वतंत्र है, 5 सस्ते पीसी का उपयोग करने के बारे में सोचें, एक मास्टर बनाएं और उन्हें WCF के माध्यम से कनेक्ट करें। प्रति पीसी दो मॉनीटर प्रस्तुत करें।

हटाना रद्द पोस्ट

को हटाने के बाद मैं अपने जवाब को हटाना रद्द क्योंकि आप के लिए कहा। लेकिन 50 से अधिक विचारों के साथ और एक अपवित्र नहीं लगता है कि मेरा डर उचित नहीं है। और जैसा कि मैंने लिखा था, हमारे पास मेरे प्रोजेक्ट में बहुत अधिक स्क्रीन रिज़ॉल्यूशन था। केवल 1024 * 768 और दो साल बाद, प्रदर्शन शायद कोई मुद्दा नहीं है। लेकिन मैं ख्याल रखूंगा।

+0

उम्मीद है कि, दो वर्षों में डब्ल्यूपीएफ प्रदर्शन के संदर्भ में नाटकीय रूप से सुधार हुआ है। मैं उत्सुक हूँ, जहां आप WPF का उपयोग कर रहे हैं? यह अजीब लगता है कि ऐसे शक्तिशाली कार्ड सामना नहीं कर सके, लेकिन शायद आप जीपीयू के बजाय सीपीयू पर दिए गए प्रभावों का उपयोग कर रहे थे? – Mark

+0

मुझे नहीं लगता कि इस संकीर्ण दो वर्षों में प्रदर्शन की इतनी बड़ी वृद्धि होगी। यदि आपका ऐप केवल स्थिर डेटा दिखाता है, तो आपको कोई समस्या नहीं होगी। यदि नहीं, तो दृश्य प्रदर्शन पर ध्यान दें। कुछ विचारों के लिए, मेरी पोस्ट का अपडेट देखें। प्रभावों के लिए: मैंने किसी भी बिटमैप प्रभाव का उपयोग नहीं किया है और कोई अन्य प्रभाव भी नहीं है जिसका प्रतिपादन करने के लिए बुरा प्रभाव पड़ता है। ऐप की मुख्य बात छवियों को प्रदर्शित कर रही थी। एक बड़ा अंतर संकल्प था। जैसा कि मैंने रीमेबर किया है, 168 * 1050 के साथ चलने वाले अधिकांश मॉनीटर, जो आपके पास 1024 * 768 के साथ उच्च भरने की दर के रूप में दोगुनी से अधिक देता है। – HCL

+0

विचार यह है कि ऐप एक विशाल मॉनीटर पर चल रहा एक बड़ा एप्लीकेशन है, जो आप इन दिनों स्टोरों में देखते हैं, जहां उनके पास वीडियो और प्रोमो-स्टफ खेलने से जुड़ा हुआ ढेर होता है, न कि 9 अलग-अलग ऐप्स एक साथ चलते हैं (ठीक है कि वैसे भी विचार है), मैं प्रदर्शन उपकरण और सुझावों से परिचित हूं, लेकिन मुझे लगता है कि मैं वास्तव में क्या देख रहा था, क्या यह भी संभव प्रदर्शन के रूप में संभव होगा? (लेकिन मुझे पता है, निश्चित रूप से यह आपके द्वारा किए गए कार्यों पर निर्भर करता है)। – Mark

1

Windows.Forms

WPF के लिए SystemParameters.VirtualScreenHeight और SystemParameters.VirtualScreenWidth प्रयोग SystemInformation.VirualScreen पर एक नजर डालें। यह सुनिश्चित नहीं है कि WPF उस के साथ कैसे copes, कम से कम आप संकल्प को जानेंगे।

+0

http: //mostlytech.blogspot।कॉम/2008/01/maximizing-wpf-window-to-second-monitor.html यहां एक नज़र डालें – nomail

+0

धन्यवाद नामांकन, लेकिन वास्तव में नहीं जो मैं बाद में था ... – Mark

+0

हाय मार्क! क्या आप 9 मॉनीटर वाले एक वीडियो कार्ड का उपयोग करेंगे (मैं यह भी जानना नहीं चाहता कि उन्हें कितना खर्च होता है)? मैंने एक प्रयोगशाला में जो देखा है उससे वे 3 पीसी (कुल में 6 मॉनीटर) के क्लस्टर का उपयोग करते हैं। प्रत्येक फ्रेम इन पीसी के बीच विभाजित है और लाइववॉल के क्षेत्र के आधार पर गणना की जाती है। अगर आप मुझसे पूछने में कोई फर्क नहीं पड़ता तो आपका सिस्टम कैसे काम करेगा? क्योंकि मुझे निकट भविष्य में कुछ ऐसा करना पड़ सकता है और किसी भी सुझाव की सराहना की जाएगी। धन्यवाद! – nomail

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