Skip to content

Split the Renderer into a Path and Mesh Renderer #386

@CryZe

Description

@CryZe

Turns out that there's a lot of APIs that like rendering paths instead of meshes, such as: (tiny-)skia, pathfinder, svg, Direct2D, HTML Canvas, piet + druid and possibly cairo and core graphics. Since we internally also work mostly with paths, supporting these APIs directly probably makes sense.

I already experimented with this and for some reason if we use a tiny-skia backend (entirely software rendered) it somehow ends up being faster than wgpu. And considering Direct2D offers basically the same capabilities, but is apparently GPU accelerated, we could probably speed it up even further. So that really begs the question why we would need wgpu at all. So we definitely want to split up our renderer and then experiment more.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementAn improvement for livesplit-core.featureA new user visible feature for livesplit-core.performanceAffects the performance of the code.priority: highThis is a high priority issue.renderingThe issue or pull request is affecting the rendering.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions