Bug 205668 - REGRESSION (r253926): webgl/1.0.3/conformance/rendering/many-draw-calls.html is much slower, times out in debug
Summary: REGRESSION (r253926): webgl/1.0.3/conformance/rendering/many-draw-calls.html ...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGL (show other bugs)
Version: WebKit Local Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: James Darpinian
URL:
Keywords: InRadar
Depends on:
Blocks: webglangle
  Show dependency treegraph
 
Reported: 2019-12-31 15:07 PST by Alexey Proskuryakov
Modified: 2020-03-11 17:12 PDT (History)
9 users (show)

See Also:


Attachments
ANGLE: Disable asserts in release builds. (1.72 KB, patch)
2020-01-09 14:36 PST, James Darpinian
dino: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Proskuryakov 2019-12-31 15:07:31 PST
webgl/1.0.3/conformance/rendering/many-draw-calls.html is 2-3x slower after the switch to ANGLE. It now times out nearly every time in debug, but it got much slower in release too.

You can see test run time here by toggling "show test times".

https://results.webkit.org/?suite=layout-tests&test=webgl%2F1.0.3%2Fconformance%2Frendering%2Fmany-draw-calls.html
Comment 1 Radar WebKit Bug Importer 2019-12-31 15:07:40 PST
<rdar://problem/58257321>
Comment 2 Alexey Proskuryakov 2019-12-31 15:08:41 PST
Note that test history is somewhat misleading, because there was also an earlier issue on Mojave, bug 205412. The regression is super clear on Catalina.
Comment 3 Kenneth Russell 2019-12-31 15:13:24 PST
It's possible that draw call validation formerly done in WebKit and now subsumed by ANGLE simply needs to be #ifdef'd out.
Comment 4 James Darpinian 2020-01-09 13:43:06 PST
It looks like ANGLE is being compiled with asserts even in release builds, and asserts turn on a very expensive state validation code path. I will look into changing both of these.
Comment 5 James Darpinian 2020-01-09 14:36:33 PST
Created attachment 387274 [details]
ANGLE: Disable asserts in release builds.
Comment 6 EWS Watchlist 2020-01-09 14:37:19 PST
Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE
Comment 7 Kenneth Russell 2020-01-09 17:21:49 PST
Fantastic work James tracking this down!
Comment 8 Dean Jackson 2020-01-22 16:27:58 PST
Committed r254953: <https://trac.webkit.org/changeset/254953>