2014-10-09 14 views
5

Ho provato a cercare in giro ma non sono riuscito a trovare una risposta a questa domanda: ci sono miglioramenti delle prestazioni nell'utilizzo di ImageBrush per riempire un rettangolo invece di creare un BitmapImage e impostarne la proprietà sorgente?Prestazioni di Bitmap Immagine vs ImageBrush

devo rendere un numero elevato di immagini (che stiamo cercando di spingere oltre 5000), e per ora sto creando loro in questo modo:

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

e nel convertitore:

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; 

NB: Devo utilizzare il convertitore per impostare la proprietà DecodePixelWidth.

Utilizzo di ImageBrush Potevo congelare il pennello in base a ciò che ho letto, aumentando le prestazioni, quindi mi chiedevo se avrei dovuto cambiare il modo in cui costruisco le immagini.

P.S. Le immagini non sono statiche ma sono tradotte in giro.

+0

La bassa velocità durante il rendering dell'immagine? I è lento usando BitmapImage che ImageBrusch? – daniele3004

+0

Benvenuti in StackOverflow! Vedi "[Le domande dovrebbero includere i tag" nei loro titoli?] (Http://meta.stackexchange.com/questions/19190/) ", dove il consenso è" no, non dovrebbero " –

+0

Perché non implementare un benchmark delle prestazioni da soli? Dì solo ... –

risposta

0

Penso che il problema non sia nel codice ma nell'architettura WPF.

Se il tuo problema è la prestazione, per la mia esperienza personale nello sviluppo di XAML è necessario che il pc sia preferibilmente fornito con una scheda video dedicata. Tuttavia, molte volte anche in molto vecchio PC con Windows XP per assottigliare il programma che ho fatto installare la libreria aggiornamenti diretta X

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

XAML è basato su DirectX

Provatelo e fatemi sapere