EmberJS uses a rendering engine called Glimmer. It's an attempt from Ember's developers to recreate React Virtual DOM without any break changes.
Glimmer differentiates between static and dynamic components, thus reducing the number of elements that need to be checked when looking for changes. This differentiation can be achieved thanks to the expressiveness of Handlebar's templates.
Another difference between Glimmer and the other implementations is how Glimmer stores and compares nodes. Glimmer stores the nodes in simple stream-like objects. To find whether a node needs updating, Glimmer checks the latest version of the object node with the real DOM node value. If the value has no changes, no further actions are taken.
If you want to find more information about Glimmer: