Skip to content

Commit

Permalink
Refactor PLSRenderer into draw objects
Browse files Browse the repository at this point in the history
Despaghettifies PLSRenderer into high level "PLSDraw" objects that have the ability to count their resource requirements ahead of time and write out their draw data later. This refactoring will eventually allow us to remove intermediate flushes and implement sorting for atomic and msaa modes.

We take a ~50% CPU performance/cache loss from moving the path-processing scratch buffers into persistent heap allocations, but we need this persistence in order to count up allocation sizes and remove intermediate flushes. If CPU performance actually becomes a bottleneck in rendering, we can explore options to get this performance back.

Diffs=
d52d14a1f Refactor PLSRenderer into draw objects (#6397)
  • Loading branch information
csmartdalton committed Jan 2, 2024
1 parent 775fae9 commit f8e6d04
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion .rive_head
Original file line number Diff line number Diff line change
@@ -1 +1 @@
8666bde87b8ef973ff99d7a285a4b768bdf76aa9
d52d14a1f3f45cda402246dec6b95814cc05abe3
2 changes: 1 addition & 1 deletion .rive_renderer
Original file line number Diff line number Diff line change
@@ -1 +1 @@
407c67a8041e33eb79da8cb797abe7a43ad056d1
07bc07225ef6ee9e690b09ad8d51d66bbfcd997d
2 changes: 1 addition & 1 deletion submodules/rive-cpp

0 comments on commit f8e6d04

Please sign in to comment.