Bug 205668

Summary: REGRESSION (r253926): webgl/1.0.3/conformance/rendering/many-draw-calls.html is much slower, times out in debug
Product: WebKit Reporter: Alexey Proskuryakov <ap>
Component: WebGLAssignee: James Darpinian <jdarpinian>
Status: RESOLVED FIXED    
Severity: Normal CC: dino, ews-watchlist, graouts, jdarpinian, kbr, kondapallykalyan, mark.lam, mlalkaka, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Local Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=205483
https://bugs.webkit.org/show_bug.cgi?id=205412
Bug Depends on:    
Bug Blocks: 198948    
Attachments:
Description Flags
ANGLE: Disable asserts in release builds. dino: review+

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>