BLEND 2D

next generation 2d vector graphics engine

Research

This section is in preparation and will present Blend2D from a more research (and technical) point of view. Here is a list of topics that were successfully implemented and will be described in the future:

  • Dynamic Pipeline Construction - JIT compilation of 2D pipelines allows to merge several rendering steps into one, which has positive effects on performance, but is more complicated than static pipelines in general. This topic will discuss how Blend2D uses dynamic pipelines and some problems faced during development.
  • Merging Pad, Repeat, and Reflect Extend Modes - How to merge pad, repeat, and reflect extend modes during gradient or pattern rendering into one universal code-path that can handle all of them and can be easily vectorized. Blend2D uses this technique to parametrize pipelines that render gradients and patterns to minimize the number of pipelines that would normally be required to handle all modes separately.
  • Improved Analytic Rasterization Performance - Blend2D uses a rasterizer written from scratch designed to be fast and to make composition of rasterized cells as efficient as possible. This topic will discuss the design of the rasterizer and Blend2D compositors that use data from the rasterizer directly without any intermediate steps that would generate spans.
  • Improved Linear Gradients Performance - How to render linear gradients faster by taking advantage of SIMD operations.