Fog: A High-Performance Alternative To Cairo
While Cairo gets much of the spotlight when it comes to a 2D vector graphics drawing library, there's another open-source project that claims to provide even faster performance and greater benefits; meet the Fog-Framework.
Fog-Framework, unlike Cairo that's written in C, is written in C++ and made available under the MIT license. Fog-Framework provides a high-performance 2D vector graphics library with a platform-independent SVG engine and optional UI tool-kit.
For providing fast performance, the Fog-Framework engine is multi-threaded and does feature a JIT (Just-In-Time) compiler as well. Fog-Framework still relies upon underlying operating system APIs and libraries for handling basic tasks like loading image files and other system controls. The project has posted benchmarks indicating Fog to be much faster than Windows GDI+ and Cairo in a variety of tests.
Fog-Framework consists of Fog-Core (the platform abstraction component), Fog-G2d (the Vector 2D and imaging side), Fog-UI (the optional vector UI), and Fog-Svg (the SVG DOM, parser, and renderer).
The 2D graphics library component (Fog-G2d) was based upon the Anti-Grain Geometry project, but with a horde of improvements. Besides single and multi-threading optimizations, there is various CPU optimizations like for SSE3. At the moment, however, the 2D graphics library is just a CPU-based software rasterizer. Fog-Framework may be fast and outperforming the popular Cairo, but at the moment it's just running on the CPU and not poking the GPU like can be done under Cairo with some of its back-ends.
The project does have a lengthy to-do list / road-map as listed here. Besides the back-end shortage, another disadvantage compared to Cairo is at the moment it doesn't appear to have bindings for as many languages as Cairo. The open-source project is hosted on Google Code.
Other alternatives would be the Skia library that's used by Google and Azure, which is a replacement for Cairo within Mozilla Firefox.
Latest Articles & Reviews
Latest Linux News
Most Viewed News This Week