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 upAdd some simple batching fixes. Draw calls on GH from 146 -> 14. #40
Conversation
(Relies on the unmerged PR to switch glyph rendering to RGBA8 textures for those numbers). One of the major issues is that sometimes the batcher ping pongs between textures when using the dummy white texture. This was previously RGB8 format, so any glyphs would break batching. It's now RGBA8 which means that batching works well with glyphs. The proper fix will be to add a dummy white image in both RGB8 and RGBA8 format - and make the batcher aware of this. It can then select the dummy white image that will avoid breaking the batch. Additionally, the AABB tree split threshold of 512 was resulting in nodes that were around 256 pixels high on GH. This produces too many false overlap detections that currently cause batch breaks. Switching to 1024 didn't seem to affect parallelism of batch building on any sites I tested. The proper fix for this involves making the overlap detection a bit smarter, but more importantly, detecting when overlaps involve opaque items and avoiding batch breaks in these situations. Fixes #35.
glennw
added a commit
that referenced
this pull request
Oct 19, 2015
Add some simple batching fixes. Draw calls on GH from 146 -> 14.
nox
pushed a commit
to nox/webrender
that referenced
this pull request
Aug 6, 2016
Add stencil WebGL commands Part of servo/servo#10659.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
glennw commentedOct 19, 2015
(Relies on the unmerged PR to switch glyph rendering to RGBA8 textures for those numbers).
One of the major issues is that sometimes the batcher ping pongs between
textures when using the dummy white texture. This was previously RGB8
format, so any glyphs would break batching. It's now RGBA8 which means that
batching works well with glyphs. The proper fix will be to add a dummy white
image in both RGB8 and RGBA8 format - and make the batcher aware of this. It
can then select the dummy white image that will avoid breaking the batch.
Additionally, the AABB tree split threshold of 512 was resulting in nodes that were
around 256 pixels high on GH. This produces too many false overlap detections that
currently cause batch breaks. Switching to 1024 didn't seem to affect parallelism
of batch building on any sites I tested. The proper fix for this involves making
the overlap detection a bit smarter, but more importantly, detecting when overlaps
involve opaque items and avoiding batch breaks in these situations.
Fixes #35.