Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
1339
Revert "Performance Improvement" for EmbeddableUIElementBase IsHotTracking
posted

Nine years ago a performance improvment was made to EmbeddableUIElementBase.IsHotTracking to check if the mouse cursor was over the element before checking to see if hot tracking was enabled.  At that time the cursor check was simply a boolean field, so it made sense to do this.  A little while later that boolean field was replaced with a property that evaluates the cursor position on each call, but the IsHotTracking evaluation order was not reverted.

The call to Cursor.Position (used by the IsMouseOverElement property) is a native call that incurs a noteable cost when initializing the appearance.  Resolving the value of IsHotTrackingEnabled is enormously faster when extending EditorWithText and EditorWithTextUIElement myself and rearranging the order of the hot tracking evaluation.

Please consider revisiting the performance of IsHotTracking.