Native vs NativeExperimental rendering in WPF

Subscribing to CompositionTarget.Rendering is sometimes useful or even needed but should be used wisely because it forces WPF to constantly render window. For this reason, starting from Eyeshot 12, we introduced the NativeExperimental renderer to stop using this event for rendering.

When I should use the NativeExperimental renderer?

If you experience a performance issue in your WPF application with other graphical control, that's time to switch to the NativeExperimental renderer.

Here below, a simple demo that shows an external control drawing a custom cursor (pink) near to the mouse pointer.
Using the NativeExperimental render make drawing follows mouse pointer with almost no lag but when Eyeshot uses the Native renderer the lag increases.


Beware when the Renderer is set to NativeExperimental, the Invalidate() method of Eyeshot performs the same operations than the Refresh() method.

A more technical discussion can be found on threads below:

Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request



Please sign in to leave a comment.