Currently, Revery has its own home-grown rendering platform on top of OpenGL. This has gotten us pretty far, but long-term, it makes sense to use a more mature platform: Skia
Skia is used by a variety of high-performance frameworks and applications, including:
Skia is a battle-tested and performant framework. In particular, there are several deficiencies in our rendering layer that would be addressed by integrating Skia:
__Work Required:__
See our Kanban board
Hey @bryphe! :)
I would like to propose to add a label skia-dependent or skia-related to the GH repo, to tag issues that could be affected by the ongoing work with Skia, and that are subject to be reconsidered / revisited after this work gets to a more realized state.
The reason is that the work in Skia will have a lot of impact in Revery, and having such label could help contributors make more informed decisions on which issues are more "stable", so they can know if any work on them has a chance of persisting after a potential refactor if/when this Skia integration happens.
What do you think?
Any opinions on using https://github.com/servo/webrender? and/or https://github.com/servo/pathfinder?
Hey @jchavarri ! Sorry for the slow reply, fell of my radar - but the plan sounds great to me. I added a skia-dependent tag and did a first pass: https://github.com/revery-ui/revery/issues?q=is%3Aopen+is%3Aissue+label%3Askia-dependent
@twop - what benefits would you see to using webrender or pathfinder as opposed to Skia?
IMO, there'd only be challenges:
WebRender probably wouldn't be the right fit; we only need a subset of drawing primitives - not a full a browser renderer. Pathfinder does seem like a similar feature set to Skia, though. I guess it potentially could be faster than Skia? But I couldn't find any benchmarks comparing them. Let me know if you have thoughts on them compared to Skia.
I don't know how complete it is, but Pathfinder seems to at least have a C API readily available - https://github.com/servo/pathfinder/blob/master/c/include/pathfinder/pathfinder.h
That doesn't change the benefits of Skia's age and use. Rust's underlying safety guarantees would be nice to have though.
Skia is in! #567
Most helpful comment
Skia is in! #567