Skip to content
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

Add some simple optimizations to skip clears and stencil buffer operations. #279

Merged
merged 4 commits into from May 28, 2016

Conversation

@pcwalton
Copy link
Collaborator

pcwalton commented May 28, 2016

This series of optimizations speeds up painting of browser.html by 50% or more on my MacBook Pro/Intel Iris. It allows us to reach 60 FPS in some cases (though not reliably) even when YouTube is playing and visible and a transparent blurry Terminal is in the background.

r? @glennw

pcwalton added 4 commits May 28, 2016
always clear Z before processing each list.
All we care about is whether the matrix transforms a point (x, y) to
(a*x + s, b*x + t) for some a, b, s, and t.
This eliminates all use of the stencil buffer in typical browser.html
usage, except for the tab switch animation (which uses perspective
divide).
@glennw
Copy link
Member

glennw commented May 28, 2016

Nice one!

@glennw
Copy link
Member

glennw commented May 28, 2016

@bors-servo
Copy link
Contributor

bors-servo commented May 28, 2016

📌 Commit 02ef66f has been approved by glennw

@bors-servo
Copy link
Contributor

bors-servo commented May 28, 2016

Testing commit 02ef66f with merge 4ee826b...

bors-servo added a commit that referenced this pull request May 28, 2016
Add some simple optimizations to skip clears and stencil buffer operations.

This series of optimizations speeds up painting of browser.html by 50% or more on my MacBook Pro/Intel Iris. It allows us to reach 60 FPS in some cases (though not reliably) even when YouTube is playing and visible and a transparent blurry Terminal is in the background.

r? @glennw
@bors-servo
Copy link
Contributor

bors-servo commented May 28, 2016

☀️ Test successful - travis

@bors-servo bors-servo merged commit 02ef66f into servo:master May 28, 2016
3 checks passed
3 checks passed
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
homu Test successful
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.