servo / webrender

A GPU-based renderer for the web
https://doc.servo.org/webrender/
Mozilla Public License 2.0
3.11k stars 276 forks source link

High CPU usage in System process when watching videos with danmaku on Bilibili (Intel Kaby Lake Windows), followed by tab/browser crashing #3670

Open xzn opened 5 years ago

xzn commented 5 years ago

Try watching any video on Bilibili with a good number of danmaku, the CPU usage for System process is above 60%.

After about 10 seconds the danmaku freezes, then either the tab crashes or the whole browser crashes.

GPU is Intel UHD 620 on Windows 10 64-bit, driver version is 26.20.100.6890

The crashes only happen when danmaku is rendered using Canvas (the default settings on Bilibili). No issues when rendered using CSS3

xzn commented 5 years ago

Few more information:

CPU usage: Webrender off: Canvas: around 12% CSS3: around 25%

Webrender on: Canvas: 80%+ then crashes Smoother frame rate until crashes CSS3: around 12% However in this combination, frame rate is abysmally low, around half a dozen frames per second. Both the video playing in the background as well as the rest of the webpage get laggy.

Crashes happen on Nightly 69.0a1 (2019-06-06) (64-bit) GPU and OS are mentioned in the above post.

xzn commented 5 years ago

After searching around in bugzilla, it turns out that crash is fixed in 1558100.

Low frame rate is still an issue though that doesn't exist in non-WR.

I've also noticed that on Linux, the entire desktop including mouse movement get slowed down. Not sure if an issue in webrender, driver, compositor or wayland.