【问题标题】:In what way a WPF Wrap panel is slower that we need virtual wrap panelWPF Wrap 面板以何种方式比我们需要虚拟 wrap 面板更慢
【发布时间】:2011-07-30 03:01:27
【问题描述】:

我听说过很多关于包装面板加载速度较慢的消息,因此我们需要一个虚拟化面板。

谁能给我一个小的包装面板示例,可以证明它加载速度较慢等它需要一个虚拟化面板。

我将一个换行面板设置为列表框的面板控件,并在其中添加了 10000 个字符串对象,这不是问题。我确信我的示例很愚蠢,也许我必须编写一个业务对象并创建一个更大的数据模板才能看到这个问题的实际效果。

请给我看一个示例,证明没有虚拟化的环绕面板速度较慢。

谢谢。

【问题讨论】:

    标签: wpf wrappanel


    【解决方案1】:

    我认为性能问题主要取决于树中可视对象的数量。

    默认的 ListBoxItem 模板由少量元素组成(我认为是边框和文本块)。如果你有一个模板可以创建一个复杂的可视化,比如说每个项目有 100 个视觉元素,你会根据你的项目数量获得相当多的视觉效果。

    这就是普通面板在加载时速度较慢的原因,因为它必须在启动时创建所有对象,而虚拟化版本只为可见项目创建视觉效果并处理不再显示的视觉效果。

    此外,这也会影响内存使用

    【讨论】:

      【解决方案2】:

      我最近在制作插入符号表单时需要此功能。使用带有普通换行面板的列表框作为项目面板 - 加载时间最多需要 5 秒。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-17
        • 1970-01-01
        • 1970-01-01
        • 2020-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多