#[repr(usize)]pub enum PerfCounter {
Show 34 variants
PropertyChangesRaised = 0,
PropertyChangesEffective = 1,
PropertyChangesWithPropertyHandlers = 2,
PropertyChangesWithObjectListeners = 3,
InheritanceAncestorChanges = 4,
InheritedValuesCompared = 5,
InheritedValuesDiffering = 6,
InheritedValueWalkVisits = 7,
LogicalTreeAttachments = 8,
LogicalTreeDetachments = 9,
ImplicitThemeLookups = 10,
StyleHostsWalked = 11,
StylesEvaluated = 12,
StylesMatched = 13,
ControlThemesEvaluated = 14,
ControlThemesMatched = 15,
StyleInstancesAttached = 16,
StyleInstancesCreated = 17,
ResourceLookups = 18,
ResourceHostsProbed = 19,
BindingsInstanced = 20,
BindingExpressionsCreated = 21,
TemplateBindingExpressionsCreated = 22,
DynamicResourceExpressionsCreated = 23,
BindingValuesPublished = 24,
TextLayoutsCreated = 25,
TextLinesFormatted = 26,
TextRunCacheHits = 27,
TextRunCacheMisses = 28,
TextRunsShaped = 29,
ContainersRecycled = 30,
ContainersReused = 31,
ContainersCreated = 32,
ContentPresenterChildrenReplaced = 33,
}Expand description
What is counted. Each counter names, in its documentation, the function that counts it.
Variants§
PropertyChangesRaised = 0
FerroObject::raise_property_changed: every notification built and
passed to the on_property_changed chain of the class.
PropertyChangesEffective = 1
FerroObject::raise_property_changed: the ones of an effective
value, which go on to the handlers of the property and the listeners
of the object.
PropertyChangesWithPropertyHandlers = 2
PropertyChangedObservable::notify: the property has at least one
handler (the class handlers and the subscriptions to the property).
PropertyChangesWithObjectListeners = 3
FerroObject::raise_property_changed: the object has at least one
listener of its property changes.
InheritanceAncestorChanges = 4
ValueStore::set_inheritance_parent: the inheritance ancestor of an
object changed.
InheritedValuesCompared = 5
ValueStore::set_inheritance_parent: the inherited properties of the
old and the new ancestor chain that were paired.
InheritedValuesDiffering = 6
ValueStore::set_inheritance_parent: the ones whose old and new
value differ, each of which starts a walk of the subtree.
InheritedValueWalkVisits = 7
ValueStore::inherited_value_changed: the objects such a walk
reaches (the object itself and its inheritance descendants, once per
property).
LogicalTreeAttachments = 8
StyledElement::on_attached_to_logical_tree_core: an element that
was not in a logical tree enters one.
LogicalTreeDetachments = 9
StyledElement::on_detached_from_logical_tree_core: an element
leaves its logical tree.
ImplicitThemeLookups = 10
StyledElement::get_effective_theme: the implicit theme was not
known and was looked up as a resource.
StyleHostsWalked = 11
StyledElement::apply_styles: a style host between the element and
the root was asked for its styles.
StylesEvaluated = 12
Style::try_attach_checked and ContainerQuery::try_attach_checked:
a style with setters (a query with children) was matched against an
element.
StylesMatched = 13
The same functions: the selector (the query) matched and the style was instanced on the element.
ControlThemesEvaluated = 14
ControlTheme::try_attach_checked: a control theme was tested
against the style key of an element.
ControlThemesMatched = 15
ControlTheme::try_attach_checked: it applies and was instanced.
StyleInstancesAttached = 16
StyleBase::try_attach_instance: a style instance was added to the
value store of an element.
StyleInstancesCreated = 17
StyleBase::try_attach_instance: the instance was built (its setters
instanced) instead of the shared instance of the style being taken.
ResourceLookups = 18
IResourceHost::try_find_resource: a lookup up the logical tree.
ResourceHostsProbed = 19
IResourceHost::try_find_resource: the hosts such a lookup asked
(try_get_resource of the host and of each styling parent).
BindingsInstanced = 20
FerroObject::bind_binding_with_anchor: a binding was instanced on
a property of an object.
BindingExpressionsCreated = 21
UntypedBindingExpressionBase::new and TypedBindingExpression::new:
a binding expression was created (by a binding, a setter, a template
binding or a dynamic resource).
TemplateBindingExpressionsCreated = 22
TemplateBindingExpression::new.
DynamicResourceExpressionsCreated = 23
DynamicResourceExpression::new (the XAML runtime library).
BindingValuesPublished = 24
UntypedBindingExpressionBase::publish_value of a running
expression and TypedBindingExpression::publish_value.
TextLayoutsCreated = 25
TextLayout::from_text_source.
TextLinesFormatted = 26
TextFormatterImpl::format_line_with_cache: a line was asked for.
TextRunCacheHits = 27
TextFormatterImpl::format_line_with_cache: the shaped runs of the
line came from the text run cache.
TextRunCacheMisses = 28
TextFormatterImpl::format_line_with_cache: a cache was given, did
not hold the line, and the shaped runs were added to it.
TextRunsShaped = 29
TextShaper::shape_text: a run was shaped by the platform shaper.
ContainersRecycled = 30
VirtualizingStackPanel::recycle_element: a container left the
viewport, was cleared and went to the recycle pool.
ContainersReused = 31
VirtualizingStackPanel::get_recycled_element: a container of the
pool was prepared for another item.
ContainersCreated = 32
VirtualizingStackPanel::create_element: a container was created.
ContentPresenterChildrenReplaced = 33
ContentPresenter::update_child_with: the child of a content
presenter was replaced by another control or removed.
Implementations§
Source§impl PerfCounter
impl PerfCounter
Trait Implementations§
Source§impl Clone for PerfCounter
impl Clone for PerfCounter
impl Copy for PerfCounter
Source§impl Debug for PerfCounter
impl Debug for PerfCounter
impl Eq for PerfCounter
Source§impl Hash for PerfCounter
impl Hash for PerfCounter
Source§impl PartialEq for PerfCounter
impl PartialEq for PerfCounter
impl StructuralPartialEq for PerfCounter
Auto Trait Implementations§
impl Freeze for PerfCounter
impl RefUnwindSafe for PerfCounter
impl Send for PerfCounter
impl Sync for PerfCounter
impl Unpin for PerfCounter
impl UnsafeUnpin for PerfCounter
impl UnwindSafe for PerfCounter
Blanket Implementations§
Source§impl<T> AnyValue for Twhere
T: PartialEq + 'static,
impl<T> AnyValue for Twhere
T: PartialEq + 'static,
fn any_value_as_any(&self) -> &(dyn Any + 'static)
fn any_value_eq(&self, other: &(dyn AnyValue + 'static)) -> bool
fn any_value_type_name(&self) -> &'static str
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> ClassDefaults for Twhere
T: ?Sized,
impl<T> ClassDefaults for Twhere
T: ?Sized,
Source§fn static_constructor()
fn static_constructor()
affects_render, metadata
overrides). Read more