gpt4 book ai didi

c# - BitmapImage 与 ImageBrush 的性能

转载 作者:太空狗 更新时间:2023-10-29 23:50:59 27 4
gpt4 key购买 nike

我尝试四处搜索,但找不到这个问题的答案:使用 ImageBrush 填充矩形而不是创建 BitmapImage 并设置其源属性是否有性能改进?

我必须渲染大量图像(我们正在尝试超过 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;

注意:我必须使用转换器来设置 DecodePixelWidth 属性。

根据我阅读的内容,使用 ImageBrush 我可以卡住画笔,从而提高性能,所以我想知道我是否应该改变我构建图像的方式。

附言图像不是静态的,而是四处翻译的。

最佳答案

我认为问题不在代码中,而在体系结构 WPF 中。

如果您的问题是性能,根据我个人的经验,开发 XAML 是必要的,PC 最好配备专用视频卡。然而,很多时候,即使是在装有 Windows XP 的非常老的电脑上,我也确实安装了更新直接 X 库的程序来瘦身

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

XAML 基于 directX

试试看,让我知道

关于c# - BitmapImage 与 ImageBrush 的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26273163/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com