Re-evaluate on which platforms to use scissor clear optimisation
Categories
(Core :: Graphics: WebRender, task)
Tracking
()
People
(Reporter: jnicol, Assigned: jnicol)
References
Details
Attachments
(1 file)
For a long time we have had an optimisation where we apply a scissor rect when clearing render targets, rather than clearing the entire target. The comment states that at the time this was measured to be a win on some Intel and nvidia GPUs.
In bug 1809738, however, we realised this optimisation actively hurts performance on Mali, so disabled it there. This may be the case on other GPUs too, so we should do a bunch of measuring to determine which devices to enable it on. Glenn even suspects i may no longer be as big a win on the platforms he originally tested on.
Assignee | ||
Comment 1•1 year ago
|
||
I've done some testing on a variety of Android devices. Here are the average frame times when scrolling on twitter:
Phone | GPU | scissored clear | non-scissored clear |
---|---|---|---|
Pixel 7 | Mali G710 | 22ms | 8ms |
Pixel 6a | Mali G78 | 9ms | 9ms |
Samsung S20 Ultra | Mali G77 | 15ms | 14ms |
Samsung S10 | Mali G76 | 10ms | 10ms |
Samsung S9 | Mali G72 | 10ms | 10ms |
Samsung S6 | Mali T760 | 50ms | 25ms |
Samsung S22 | Xclipse 920 | 8ms | 8ms |
OnePlus 8 | Adreno 650 | 6ms | 6ms |
Pixel 3 | Adreno 630 | 6ms | 7ms |
Pixel 2 | Adreno 540 | 10ms | 10ms |
Moto G6 | Adreno 506 | 50ms | 33ms |
Nexus 5 | Adreno 330 | 90ms | 90ms |
Pixel 6a | Software Webrender | 38ms | 50ms |
Disabling the scissor appears to make no difference on most devices, but is a clear win on Mali-G710, Adreno 506, and a clear loss on software webrender.
I'm going to land a patch to disable the scissor on all Android devices except SWGL. I'll leave this bug open for further investigations on Desktop GPUs.
Assignee | ||
Comment 2•1 year ago
|
||
In bug 1809738 we found that our scissored render target clear
optimization actively hurt performance on some Mali GPUs. From testing
on a variety of Android devices, we have found that it mostly makes no
difference either way, but hurts performance on some other GPUs
too. On software webrender, however, it is still a performance win.
This patch therefore disables the optimization on all Android, apart
from when using software webrender.
Updated•1 year ago
|
Pushed by jnicol@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/4b9269d9e6be Disable scissored clear optimization on all Android except SWGL. r=gfx-reviewers,jrmuizel
Comment 4•1 year ago
|
||
bugherder |
Comment 5•9 months ago
|
||
The leave-open keyword is there and there is no activity for 6 months.
:jnicol, maybe it's time to close this bug?
For more information, please visit BugBot documentation.
Assignee | ||
Comment 6•9 months ago
|
||
We can always file a new bug if we decide to change anything on other platforms
Updated•9 months ago
|
Description
•