From: Petr K. <kob...@gm...> - 2019-04-02 18:35:40
|
Hi list, I would like to announce the first beta release of the Blend2D library. It's a cross-platform and high performance 2D vector graphics engine written in C++ that implements many original ideas. At the moment Blend2D focuses on software-based 2D rendering and tries to make it faster while maintaining the same output quality as other 2D renderers [including AGG]. The thing that makes Blend2D unique is the JIT pipeline generator which is able to merge several rendering steps into a single pipeline. Combining the JIT pipelines with an improved analytic rasterizer and new stroking engine results in Blend2D being very competitive in terms of performance. What may be interesting to AGG users: 1. Blend2D rasterizer uses the same technique as AGG to calculate AA coverages (cells), but it uses a dense-cell buffer combined with a shadow bit-buffer to manage cells, which improves performance drastically for complicated inputs. In addition, the rasterizer has no cell limit (as cells are dense) so the only limit is the memory required to store edges (yes the rasterizer uses edge table). 2. Blend2D uses a stroking engine that doesn't flatten inputs to line segments. Of course curve offsets are also approximations, but they are much more precise than line segments, which makes it possible to post-transform stroked output without having to worry about approximation_scale. 3. Blend2D uses JIT compiler to generate pipelines at runtime. The generated pipelines consume rasterizer cells directly so there are no scanline containers used by the engine. In fact the composition happens in bands (several scanlines together) so a single pipeline can do a lot of batched work, which improves fill rate. Additionally, Blend2D comes with a benchmarking tool (bl_bench) and sample packages. The benchmarking tool has also AGG backend so it can be used to compare the performance of Blend2D and AGG. Our own results are shared on Blend2D home page under Performance section (links below). Let me know if you have any questions, thank you! Links: https://blend2d.com - Blend2D home page https://blend2d.com/performance.html - Performance comparison with others including AGG Best, - Petr |