इससे पहले कि मैं इसे एक उचित उदाहरण में कम कर दूं, मैं उम्मीद कर रहा था कि कोई इससे पहले इसमें भाग ले सकता है और समस्या पर कुछ प्रकाश डाल सकता है।ओपनजीएल अधिकतम 32 ऑन-स्क्रीन विंडो विस्टा/7
मेरे पास 32-बिट सी आधारित एप्लिकेशन है जो प्रति विंडो एक ओपनजीएल संदर्भ का उपयोग करता है, सभी संदर्भ और विंडोज़ समान रूप से स्थापित होते हैं। अनुरोधित पिक्सेल प्रारूप 32 बिट रंग, अल्फा, गहराई बफर, त्वरित है। विंडोज 2000 और एक्सपी पर सब कुछ बेकार ढंग से काम करता है।
सबकुछ विस्टा पर 7 और 33 वें विंडो/संदर्भ जोड़ी बनने तक बेकार ढंग से काम करता है। विंडो बनाने में कोई त्रुटि नहीं है, संदर्भ बनाने में कोई त्रुटि नहीं है, जिससे संदर्भ में कोई त्रुटि नहीं है, ड्राइंग कोई त्रुटि उत्पन्न नहीं करती है, स्वैपबफर त्रुटि उत्पन्न नहीं करते हैं। हालांकि, ओपनजीएल संदर्भ किसी आउटपुट का उत्पादन करने में असफल होते हैं, एरो के साथ खिड़कियां सफेद होती हैं, क्लासिक मोड के साथ वे ड्रॉ नहीं करते हैं और केवल स्क्रीन कचरा हैं। डीडब्लूएम को मारना समस्या को ठीक नहीं करता है, विभिन्न पिक्सेल प्रारूपों (एकल बफर, diff। गहराई, आदि) और PFD_SUPPORT_COMPOSITION समस्या को ठीक नहीं करता है। यह Vista/7 के साथ कई अलग-अलग मशीनों पर है, कभी XP नहीं।
मैं बैक बफर glReadPixels कर सकते हैं और वे सही पिक्सेल हैं। एक ही संदर्भ के साथ एक pbuffer में प्रस्तुत करना ठीक काम करता है,> 32 pbuffers में rendering ठीक है।
यदि मैं ऑन-स्क्रीन संदर्भ/विंडोज़ पर काम करता हूं, तो गैर-काम करने वाली विंडो फिर से काम करना शुरू कर देती हैं। ऐसा लगता है कि Vista/7 बस स्क्रीन पर 32 विंडोज़ स्क्रीन के बाद ओपनजीएल प्रतिपादन प्रदर्शित करना बंद कर देता है।
यदि पिक्सेल प्रारूप वर्णनकर्ता में PFD_SUPPORT_GDI सब कुछ ठीक है, लेकिन यह सॉफ़्टवेयर रेंडरर का उपयोग कर रहा है जो अस्वीकार्य है।
मुझे आश्चर्य है कि यह Vista/7 में ओएस सीमा या ड्राइवर सीमा है या नहीं। किसी भी अंतर्दृष्टि के लिए धन्यवाद।
के लिए इसी तरह अगर आप 33 खिड़कियां एक ही अद्वितीय संदर्भ से जुड़ी बनाने क्या व्यवहार है? – Luca
मुझे संदेह है कि यह एक विशेष ड्राइवर कार्यान्वयन है जिसे दोष देना है। क्या आप एक ही व्यवहार को कई कार्ड/निर्माताओं में देख रहे हैं? – eodabash