Bug 284027
| Summary: | [TextureMapper] Polygon clipping performance is extremely slow | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Jani Hautakangas <jani> |
| Component: | WPE WebKit | Assignee: | Jani Hautakangas <jani> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | bugs-noreply, fujii.hironori |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=282682 | ||
| Bug Depends on: | |||
| Bug Blocks: | 283820 | ||
Jani Hautakangas
Rendering complex preserve-3D scenes might involve a lot of layer splitting. Layer split rendering is achieved with polygon clipping. These splits are handled using polygon clipping, but the current implementation is inefficient. Each clip operation clears the full stencil buffer and masks the clipped part using separate vertex buffer objects that are allocated on demand. This places significant stress on the GPU and on hardware like rpi3 it completely chokes the rendering pipeline.
To address this issue, polygon clip vertices for preserve-3d scenes should be loaded to the GPU only once, leveraging cached VBOs. Additionally, stencil buffer clearing should be optimized using scissors to restrict stencil clears to relevant areas, avoiding full-buffer operations.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Jani Hautakangas
Pull request: https://github.com/WebKit/WebKit/pull/37596
EWS
Committed 287519@main (3440db247780): <https://commits.webkit.org/287519@main>
Reviewed commits have been landed. Closing PR #37596 and removing active labels.