Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upOptimize the PrimitiveBatchData enum #456
Closed
Labels
Comments
bors-servo
added a commit
that referenced
this issue
Nov 30, 2016
PrimitiveBatchData for all Fixes #456 More stuff to come. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/609) <!-- Reviewable:end -->
Merged
bors-servo
added a commit
that referenced
this issue
Dec 13, 2016
Instanced attributes Closes #457 Performance-wise, I wasn't able to register a noticeable difference. Tested on https://github.com/servo/servo, full screen after the second page down, on `Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2)` with resolution 2560x1440. With the change, I got 4.5 ms mean GPU time in the first test, and 4.3 ms time in the second. Without the change, I got 4.4 ms mean GPU time in the only test. I suppose the difference is not visible since we are far from being VS-bound. Note: this does not replace the optimization of having one large buffer in #456. Instanced attributes will benefit from it in the same way as UBOs. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/615) <!-- Reviewable:end -->
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This enum has a Vec that is the same for many batch types. Previously, they were separate types. We could unify this enum to use a single Vec and then store offsets / lengths for each batch. This would allow us to change the renderer to create far fewer UBOs which would improve the speed of the compositor time.