Skip to content

System.Windows.UncommonField<bool>.SetValue generating garbage  #4114

@yingDev

Description

@yingDev

When scrolling a VirtualizingStackPanel, this line of code does lots of boxing of bool values. thus leading to frequent GC.

if (!object.ReferenceEquals(value, _defaultValue))

Maybe it should by optimized for boolean type ?

Here's the call stack:

UncommonField<bool>.SetValue() 
TreeViewItem.System.Windows.Controls.Primitives.IHierarchicalVirtualizationAndScrollInfo.set_MustDisableVirtualization() 
VirtualizingStackPanel.SetViewportForChild() 
VirtualizingStackPanel.MeasureChild() 
VirtualizingStackPanel.MeasureOverrideImpl() 
VirtualizingStackPanel.MeasureOverride() 
FrameworkElement.MeasureCore()
UIElement.Measure()
ContextLayoutManager.UpdateLayout() 
ContextLayoutManager.UpdateLayoutCallback()
...

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions