Mar*_*rco 5 c# wpf performance xaml image
我试着四处寻找,但我找不到这个问题的答案:使用ImageBrush填充矩形而不是创建BitmapImage并设置其源属性是否有性能改进?
我必须渲染大量的图像(我们试图推动超过5000),现在我正在以这种方式创建它们:
<Image x:Name="img" RenderOptions.BitmapScalingMode="LowQuality"
Source="{Binding Path, Converter={StaticResource StringToImageConverter}, ConverterParameter={StaticResource string}}" >
</ext:IdImage>
Run Code Online (Sandbox Code Playgroud)
并在转换器中:
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;
Run Code Online (Sandbox Code Playgroud)
注意:我必须使用转换器来设置DecodePixelWidth属性.
使用的图像刷,我可以这样冻结刷,根据我读,提高性能,所以我在想,如果我要改变我建立图像的方式.
PS图像不是静态的,而是被翻译出来的.
我认为问题不在于代码,而在于 WPF 的架构。
如果你的问题是性能,根据我个人的经验,开发XAML是必要的,PC最好配备专用显卡。然而,很多时候,即使是在装有 Windows XP 的非常旧的电脑上,为了精简程序,我也确实安装了更新的直接 X 库
http://support.microsoft.com/kb/179113/en
XAML基于directX
尝试一下并告诉我
| 归档时间: |
|
| 查看次数: |
1181 次 |
| 最近记录: |