2014-10-09 9 views
5

मैंने चारों ओर खोज करने की कोशिश की लेकिन मुझे इस सवाल का जवाब नहीं मिला: क्या बिटमैप इमेज बनाने और इसकी स्रोत संपत्ति सेट करने के बजाए आयताकार भरने के लिए छवि ब्रश का उपयोग करने में प्रदर्शन सुधार हैं?बिटमैप छवि बनाम छविब्रश का प्रदर्शन

मैं छवियों के एक उच्च संख्या (हम 5000 पुश करने के लिए कोशिश कर रहे हैं) रेंडर करने के लिए है, और अब के लिए मैं उन्हें इस तरह से बना रहा हूं:

<Image x:Name="img" RenderOptions.BitmapScalingMode="LowQuality" 
    Source="{Binding Path, Converter={StaticResource StringToImageConverter}, ConverterParameter={StaticResource string}}" > 
</ext:IdImage> 

और कनवर्टर में:

System.Windows.Media.Imaging.BitmapImage image = new System.Windows.Media.Imaging.BitmapImage(); 
image.BeginInit(); 
image.UriSource = new Uri(value as String); 
image.DecodePixelWidth = int.Parse((String)parameter); 
image.CacheOption = System.Windows.Media.Imaging.BitmapCacheOption.OnLoad; 
image.EndInit(); 
return image; 

एनबी: मुझे डिकोड पिक्सेलविड्थ संपत्ति सेट करने के लिए कनवर्टर का उपयोग करना होगा।

एक छवि ब्रश का उपयोग करके मैं ब्रश को फ्रीज कर सकता हूं, जो मैंने पढ़ा है, प्रदर्शन में वृद्धि के कारण, इसलिए मैं सोच रहा था कि मुझे छवियों को बनाने के तरीके को बदलना चाहिए या नहीं।

पीएस छवियां स्थिर नहीं हैं लेकिन इनका अनुवाद किया जाता है।

+0

छवि को प्रस्तुत करते समय कम गति? मैं या तो बिटमैप इमेज का उपयोग कर धीमा हूं कि ImageBrusch? – daniele3004

+0

स्टैक ओवरव्लो में आपका स्वागत है! कृपया देखें "[प्रश्नों में उनके शीर्षक में" टैग "शामिल होना चाहिए?] (Http://meta.stackexchange.com/questions/19190/)", जहां सर्वसम्मति है "नहीं, उन्हें नहीं होना चाहिए" –

+0

क्यों नहीं एक प्रदर्शन बेंचमार्क खुद को लागू करें? मैं तो बस कह रहा हूं' ... –

उत्तर

0

मुझे लगता है कि समस्या कोड में नहीं है बल्कि वास्तुकला WPF में है।

यदि आपकी समस्या प्रदर्शन है, तो मेरे व्यक्तिगत अनुभव XAML के विकास के लिए आवश्यक है कि पीसी को एक समर्पित वीडियो कार्ड के साथ अधिमानतः प्रदान किया जाए। हालांकि, पतली कार्यक्रम मैं अद्यतन प्रत्यक्ष एक्स पुस्तकालय

http://support.microsoft.com/kb/179113/en

XAML स्थापित किया Windows XP के साथ भी बहुत पुराना पीसी में कई बार DirectX पर आधारित है

यह कोशिश करो और मुझे पता है

जाने
संबंधित मुद्दे