Skip to content

Optimizations to filter effects, blend targets, and batching. #461

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Oct 24, 2016

Conversation

glennw
Copy link
Member

@glennw glennw commented Oct 21, 2016

  • Switch all filter effects to run through the single source blend shader, instead of composite shader.
  • Each render target uses a single alpha batcher now that the batching algorithm is reasonably efficient.
  • Change tile size to 256x256. This seems to be a better tradeoff for GPU vs CPU time on all sites I tried.
  • Switch blend targets to only allocate the used rect, rather than the entire tile size rect.

Closes #423.


This change is Reviewable

@glennw
Copy link
Member Author

glennw commented Oct 21, 2016

r? @pcwalton

@bors-servo
Copy link
Contributor

☔ The latest upstream changes (presumably #463) made this pull request unmergeable. Please resolve the merge conflicts.

* Switch all filter effects to run through the single source blend shader, instead of composite shader.
* Each render target uses a single alpha batcher now that the batching algorithm is reasonably efficient.
* Change tile size to 256x256. This seems to be a better tradeoff for GPU vs CPU time on all sites I tried.
* Switch blend targets to only allocate the used rect, rather than the entire tile size rect.

Closes servo#423.
@glennw
Copy link
Member Author

glennw commented Oct 24, 2016

@bors-servo r=pcwalton (from irc)

@bors-servo
Copy link
Contributor

📌 Commit e4213ac has been approved by pcwalton

@bors-servo
Copy link
Contributor

⚡ Test exempted - status

@bors-servo bors-servo merged commit e4213ac into servo:master Oct 24, 2016
bors-servo pushed a commit that referenced this pull request Oct 24, 2016
Optimizations to filter effects, blend targets, and batching.

* Switch all filter effects to run through the single source blend shader, instead of composite shader.
* Each render target uses a single alpha batcher now that the batching algorithm is reasonably efficient.
* Change tile size to 256x256. This seems to be a better tradeoff for GPU vs CPU time on all sites I tried.
* Switch blend targets to only allocate the used rect, rather than the entire tile size rect.

Closes #423.

<!-- 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/461)
<!-- Reviewable:end -->
@glennw glennw deleted the blend-opt branch October 24, 2016 04:45
@bors-servo bors-servo mentioned this pull request Oct 24, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants