virtualritz 2 days ago

TLDR; there other reasons why someone would prefer vello than speed.

There are different applications for 2D rendering.

In our case we need support for the rendering to take place with f32/float precision, i.e. RGBA colors need to be 96 bit values.

We also do not care if the renderer is realtime. The application we have is vector rendering for movie production.

That's where the multiple backend approach of vello and especially the vello-cpu crate become really interesting. We will either add the f32 support ourselves or hope it will become part of the vello roadmap at some stage.

Also, Blend2D is C++ (as is Skia, the best alternative, IMHO). Adding a C++ toolchain requirement to any Rust project is always a potential PITA.

For example, on the (Rust) software we work on, C++ toolchain breakage around a C++ image processing lib that we Rust-wrapped cost us two man weeks over the last 11 months. That's a lot for a startup where two devs work on the resp. affected part.

Suffice to say, there was zero Rust toolchain-related work done or breakage happening in the same timeframe.

1
Asm2D 2 days ago

Blend2D has C-API and no dependencies - it doesn't even need a C++ standard library - so generally it's not an issue to build it and use it anywhere.

There is a different problem though. While many people working on Vello are paid full time, Blend2D lacks funding and what you see today was developed independently. So, the development is super slow and that's the reason that Blend2D will most likely never have the features other libraries have.