दुर्भाग्यवश यह एक ऐसा मामला है जहां रिश्तेदार प्रदर्शन की प्रत्यक्ष तुलना करना बहुत मुश्किल है, जहां से कोई गिरावट दिखाई देगी, जहां डब्ल्यूपीएफ इंजन में गहराई दिखाई देगी। डब्ल्यूपीएफ के प्रारंभिक दिनों में स्टेटिक रिसोर्स का उपयोग मानक प्रदर्शन ट्यूनिंग परिवर्तनों में से एक था जिसे अनुशंसित किया गया था और हमने इसे अपने संगठन में बहुत सख्ती से पालन करने और दूसरों को इसकी अनुशंसा करने का प्रयास किया। मैं वास्तव में नाराज था कि ब्लेंड ने गतिशील सब कुछ किया, भले ही इसे डिज़ाइन समय पर अन्य फ़ाइलों से संसाधनों को सही ढंग से प्रस्तुत करने में मदद मिली।
समय के साथ मेरा विचार कुछ हद तक व्यक्तिगत अनुभव के कारण बदल गया है, लेकिन माइक्रोसॉफ्ट में ब्लेंड टीम के लोगों से भी प्रतिक्रिया। जैसा कि आप शायद जानते हैं, ब्लेंड पूरी तरह से डब्ल्यूपीएफ में लिखा गया है और इसमें एक पूर्ण वैकल्पिक थीम (लाइट) है जिसे एप्लिकेशन चलने के दौरान फ्लाई पर स्विच किया जा सकता है। यह संभव है क्योंकि उन्होंने अपनी सभी स्टाइल के लिए डायनामिक रिसोर्स का उपयोग किया था। उनके अनुसार, यह वास्तव में उन्हें किसी भी वास्तविक perf मुद्दों का कारण नहीं था। यह देखते हुए कि मिश्रण शायद अस्तित्व में सबसे व्यापक रूप से उपयोग किया जाने वाला WPF अनुप्रयोग है, मैं उनके विचारों को महत्वपूर्ण वजन देता हूं।
अन्य बातों पर विचार करना डायनामिक रिसोर्स की वास्तविक उपयोगिता है। फ्लाई पर स्टाइल बदलने की क्षमता इसका एक हिस्सा है, लेकिन यह आपके लचीलेपन को आपके संसाधन पदानुक्रम के निर्माण में भी साझा शैलियों को प्रबंधित करने में बहुत आसान बना सकता है। मुझे यकीन है कि आपने ऐसी परिस्थिति में भाग लिया है जहां एक स्टेटिक रिसोर्स संदर्भ रनटाइम पर उड़ाया गया है क्योंकि जिस संसाधन को इंगित किया गया था उसे पदानुक्रम की एक अलग शाखा में लोड किया जाना था।
स्पष्ट रूप से स्टेटिक रिसोर्स एक विशिष्ट कुंजी को इंगित करने के लिए बहुत उपयोगी है जिसे आप सही समय पर उपलब्ध होने जा रहे हैं। जब XAML को हाथ से लिखना मैं अभी भी इसका उपयोग करता हूं। लेकिन एक डिज़ाइनर को आपके एक्सएएमएल को ब्लेंड में उत्पन्न करने वाली उत्पादकता को देखते हुए, आपको प्राप्त होने वाले किसी भी छोटे प्रदर्शन के लाभ को संभवत: स्टेटिक के रूप में सबकुछ बनाए रखने के ऊपरी हिस्से के लायक नहीं है।
स्रोत
2010-02-12 01:24:14
आपके कथन के बारे में "स्पष्ट रूप से स्टेटिक रिसोर्स एक विशिष्ट कुंजी को इंगित करने के लिए बहुत उपयोगी है आप जानते हैं कि सही समय पर उपलब्ध होने जा रहा है। " क्या इसका मतलब यह है कि एक डायनामिक रिसोर्स संकलन-समय प्रकार की जांच खो देता है और रनटाइम में ले जाया जाता है? – scobi
हां। ज्यादातर मामलों में एक डायनामिक रिसोर्स संदर्भ जिसे हल नहीं किया जाता है, उसे केवल डिफ़ॉल्ट मान (जैसे ब्रश के लिए ब्लैक) मिल जाएगा और उस कुंजी के लिए प्रतीक्षा करें जो इसे दिखाना चाहता है। संकलक के लिए उस स्थिति को मान्य करने के लिए वास्तव में कोई भी तरीका नहीं है। –
वह बहुत उपयोगी था, धन्यवाद !! –