GNOME Shell + Mutter Begin Landing Graphene Integration
In the newest development code of GNOME Shell and Mutter for GNOME 3.36, Graphene integration has begun to replace some elements of Clutter.
Graphene is a lightweight library that has been in development by GNOME's Emmanuele Bassi. Graphene -- not to be confused with several other software projects sharing similar names -- is intended as a very lightweight library providing graphics types and their relative API while avoiding any windowing system bits and other functionality with this layer just focused on providing speedy vector operations. Graphene has fast paths for SSE2, ARM NEON, GCC Vector extensions, and other optimizations for optimally dealing with graphic data types like matrices, vectors and points.
The Graphene code provides optional GObject integration but this library can be used outside of GNOME itself should any developers be interested for use by their own graphics code.
There has been Graphene patches for GNOME Shell and Mutter pending for over seven months and that initial code was merged this morning.
With part 1, various geometry/point/rectangle/vector Clutter objects are replaced with Graphene code. Ultimately this should provide for better performance around various graphic data type operations while also cleaning up some of GNOME's low-level code in the process. This initial integration is now in place for the initial GNOME 3.35/3.36 series though expect more Graphene improvements to come now that the initial support and dependency are in place.
Graphene is a lightweight library that has been in development by GNOME's Emmanuele Bassi. Graphene -- not to be confused with several other software projects sharing similar names -- is intended as a very lightweight library providing graphics types and their relative API while avoiding any windowing system bits and other functionality with this layer just focused on providing speedy vector operations. Graphene has fast paths for SSE2, ARM NEON, GCC Vector extensions, and other optimizations for optimally dealing with graphic data types like matrices, vectors and points.
The Graphene code provides optional GObject integration but this library can be used outside of GNOME itself should any developers be interested for use by their own graphics code.
There has been Graphene patches for GNOME Shell and Mutter pending for over seven months and that initial code was merged this morning.
With part 1, various geometry/point/rectangle/vector Clutter objects are replaced with Graphene code. Ultimately this should provide for better performance around various graphic data type operations while also cleaning up some of GNOME's low-level code in the process. This initial integration is now in place for the initial GNOME 3.35/3.36 series though expect more Graphene improvements to come now that the initial support and dependency are in place.
26 Comments