2011-08-23 8 views
5

मेरे पास एक .Net4 WinForms ऐप है जो तीसरे पक्ष का संदर्भ देता है .NET2 असेंबली, जिसमें ग्राफिक्स-भारी दृश्य नियंत्रण होते हैं। मैंने देखा है कि विशाल ऐप के दृश्य प्रदर्शन में सुधार हुआ जब मैंने गलती से इसे किसी भी सीपीयू से x86 संकलन मोड में स्विच किया। मेरा विकास रिग एक x64 विंडोज 7 है। सुधार कम से कम दो के कारक द्वारा होता है जब नियंत्रण उनके ग्राफिकल तत्वों को प्रस्तुत करते हैं।.Net4 एप में होस्ट की गई .Net2 असेंबली x86 में AnyCpu मोड की तुलना में बेहतर प्रदर्शन करती है?

क्या यह ज्ञात तथ्य है या क्या मैं कुछ गलत कर रहा हूं?

उत्तर

3

इसके बारे में इन दो लेख देखें:

AnyCPU Exes are usually more trouble than they're worth

Visual Studio: Why is there no 64 bit version? (yet)

भी देखें इस पोस्ट के बारे 64-बिट कोड: Should I choose to take advantage of 64-bit?, यह स्पष्ट रूप से कहा गया है कि उदाहरण के लिए Paint.NET में के तहत बेहतर काम करता है 64-बिट मोड, क्योंकि डेवलपर ने 64-बिट के लिए कोड अनुकूलित किया।

तो, मैं आप कुछ गलत कर रहे हैं नहीं लगता है, लेकिन शायद 3 पार्टी .NET विधानसभाओं आप उपयोग कर रहे विशेष रूप से सुधार किया जा सकता है जब एक 64-बिट प्रक्रिया में चल रहे।

+0

वे अन्य असेंबली सिस्टम से ड्रॉइंग रूटीन का उपयोग करते हैं। ड्रॉइंग (जो आईआईआरसी सिर्फ जीडीआई + कॉल लपेटती है), इसलिए मुझे यकीन नहीं है कि 64 बिट के लिए उन्हें कैसे सुधार किया जा सकता है, क्योंकि प्रबंधित नेट में कोई प्लेटफार्म-विशिष्ट अनुकूलन नहीं है। किसी के बारे में जानना)। –

2

यह मुझे आश्चर्य नहीं करेगा। जब आप "किसी भी सीपीयू" को संकलित करने के लिए एप्लिकेशन सेट करते हैं, तो सीएलआर एक एप्लिकेशन उत्पन्न करता है कि उपयोगकर्ता की मशीन पर जिटर को अपने आर्किटेक्चर को सर्वोत्तम फिट करने के लिए संकलित करना होगा। यदि आप इसे "x86" पर सेट करते हैं, तो आपका dev compiler अनुप्रयोग को x86 मशीन के लिए संकलित करता है, जो क्लाइंट जिटर के भार को कम करता है।

+0

'जिटर' क्या है? – abatishchev

+0

क्षमा करें। जेआईटी का मतलब है "जस्ट इन टाइम" और जेआईटीआर के संदर्भ में "जस्ट-इन-टाइम" कंपाइलर का अर्थ है जो आईएल कोड को मशीन मशीन के लिए मशीन कोड में संकलित करता है जब एप्लिकेशन को पहली बार लॉन्च किया जाता है। – RLH

+0

मुझे पता है कि जेआईटी कंपाइलर क्या है लेकिन जेआईटी कंपाइलर के रूप में जेआईटीर को कभी नहीं देखा जाता। – abatishchev

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

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