Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF图像渲染的性能_Wpf_Performance - Fatal编程技术网

WPF图像渲染的性能

WPF图像渲染的性能,wpf,performance,Wpf,Performance,我有一个包含大量图像控件的列表框。每个映像的源都设置为远程服务器上的URI。一次可以看到大约20个图像(面板是一个VirtualzingStackPanel),每次滚动列表框时,渲染图像都需要几秒钟,导致滚动非常缓慢。图像很小(每个5-7K),不需要调整大小 当源是本地URI时,性能良好。 这些图像由nginx服务器提供服务,并几乎立即在浏览器中呈现 我的问题是: 有没有更好的方法在WPF中显示这些图像 如果这是最好的方法,我应该如何开始跟踪瓶颈 编辑: 通过绑定到集合来填充列表框。这是设置为L

我有一个包含大量图像控件的列表框。每个映像的源都设置为远程服务器上的URI。一次可以看到大约20个图像(面板是一个VirtualzingStackPanel),每次滚动列表框时,渲染图像都需要几秒钟,导致滚动非常缓慢。图像很小(每个5-7K),不需要调整大小

当源是本地URI时,性能良好。 这些图像由nginx服务器提供服务,并几乎立即在浏览器中呈现

我的问题是:

  • 有没有更好的方法在WPF中显示这些图像
  • 如果这是最好的方法,我应该如何开始跟踪瓶颈
  • 编辑:

    通过绑定到集合来填充列表框。这是设置为ListBox的ItemTemplate的DataTemplate的XAML:

    <ListBoxItem>
        <StackPanel>
            <TextBlock Text="{Binding Path=Title}" />
            <Image Width="50" Margin="0">
                <Image.Source>
                    <BitmapImage UriSource="{Binding Path=ImageUri}" DecodePixelWidth="50" />
                </Image.Source>
            </Image>                            
        </StackPanel>
    </ListBoxItem>
    

    尝试绑定ObservableCollection中的图像,这将把ImageSource集合返回到ItemTemplate中的图像


    HTH

    需要更多信息。。。你如何填写你的列表框?通过显式添加ListBoxItems,还是使用绑定?请发布列表框的XAML