Having ANGLE enabled causes a 1.53x slowdown on a WebGL 2 demo.

NEW
Unassigned

Status

()

Core
Canvas: WebGL
P3
normal
10 months ago
4 months ago

People

(Reporter: Jukka Jylänki, Unassigned)

Tracking

(Blocks: 1 bug)

53 Branch
x86_64
Windows 10
Points:
---

Firefox Tracking Flags

(firefox53 affected)

Details

(Whiteboard: gfx-noted)

Attachments

(4 attachments)

(Reporter)

Description

10 months ago
Testing a WebGL 2 demo from a partner, fitting it in the emunittest suite as a timedemo, and running with ANGLE enabled or disabled on a GTX 980 Ti and Core i7-5960X Windows 10 PC, we have the following results: (lower is better)

webgl.disable-angle=false (default): Timescore: 103999.32.
webgl.disable-angle=true (default): Timescore: 68069.82.

The slowdown from ANGLE is about 1.53x. Looking at a performance profile however, it is difficult to pinpoint a small set of call sites that would be the culprit, but it looks like a "death by a thousand cuts" type of scenario.

The demo is the same as in bug 1329815, which focuses on a detected performance problem in the scenario that ANGLE has already been disabled.
Whiteboard: gfx-noted
(Reporter)

Comment 1

9 months ago
A number of these issues are tracked on the ANGLE bug tracker:
 - https://bugs.chromium.org/p/angleproject/issues/detail?id=1818: TransposeMatrix<> in list of hottest functions, consider avoiding specific -> generic routes
 - https://bugs.chromium.org/p/angleproject/issues/detail?id=1814: BitSetIterator comes up often in profiles
 - https://bugs.chromium.org/p/angleproject/issues/detail?id=1694: ProgramD3D.cpp SetIfDirty() is an antipattern
 - https://bugs.chromium.org/p/angleproject/issues/detail?id=1385: D3D: Consider removing the redundant glUniform call filtering
(Reporter)

Updated

9 months ago
Blocks: 1207170
(Reporter)

Comment 2

9 months ago
Created attachment 8836762 [details]
BitSet64.png

Here's a profiling snapshot of the biggest hotspots that ANGLE typically shows.
(Reporter)

Comment 3

9 months ago
Created attachment 8836763 [details]
Bitset64_2.png

Another run for noise reduction, looks quite same.
(Reporter)

Comment 4

9 months ago
Created attachment 8836764 [details]
inverted_call_stack.png

A view of the same via Gecko profiler.
(Reporter)

Comment 5

9 months ago
Created attachment 8836767 [details]
vtune_angle_hotspots.png

Via VTune.
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.