Hello Angle team,
Trying to break down some behavior i've been experiencing using Google Maps (WebGL) on Chromium, which produces noticeable UI freezes.
To trigger this behavior :
- launch Chrome/ium with features : Vulkan,DefaultANGLEVulkan,VulkanFromANGLE
- navigate to Google Maps
- switch to "Satellite view" + 3D View / Globe view (advanced Web GL ?)
- start dragging map + release while still moving pointer
=> maps starts scrolling animation
- switch to other chromium tab before scrolling animation ends
=> when (invisible) animation ends in background, Google Maps engine is obviously doing something wrong :
- a storm of 500K to 1.5M WebGL calls is issued, probably as much as CPU can produce before some timeout
- occurs only when animation ends while visibilityState = hidden
- at the end no visible change on Maps display despite high number of GL calls issued
=> if VulkanFromANGLE is active, while (bogus?) WebGL calls are processed, the UI shows severe responsiveness issues if not total freeze for up to several seconds.
=> if VulkanFromANGLE is omitted, no such UI lag is noticeable
Interesting fact, the more CPU available, the more severe the effect is.
Regarding the described issue, it is likely some kind of bug in google maps engine.
However, it shows that navigation to a non-optimal WebGL site can affect the entire Chromium/ANGLE context.
What is your position on such matter ? Maybe some kind of "throttling" or priority inside ANGLE would help to mitigate such problem ?
Do not hesitate if more information needed or further tests required.
Regards,