-
Notifications
You must be signed in to change notification settings - Fork 441
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CSS blur filter seriously impacts performance in Chrome #7896
Comments
Cc @jancborchardt @nimishavijay we might have to drop the filter/transparency for the call view. Dropping FPS by 75% does not sound acceptable. |
The same problem happens with the navigation. I think we should blur the image on the server and send it to the client, along with the regular one. |
Despite the initial fears, after a lot of testing this may not be exactly the same issue that we had in the past with the blur filter for the background of call participants, although it is difficult to say :-( Back in the day it was easily reproducible in Chromium (and Safari, which ultimately led to completely disabling the blur, as the work around developed for Chromium could not be used in Safari), but fortunately this one seems much more restricted. That could be just a side effect of GPU rasterization now being enabled by default on GNU/Linux, but the filter type probably plays a role too. The video above was captured in a virtual machine where Chromium graphics features were either disabled or software only (as shown in But there is also an interesting difference between the old blur and the current one: the old blur was used in a Chromium does not render again the DOM elements unless something changes. This can be checked in the frame rendering stats (Developer tools->Customize and control DevTools->More tools->Rendering) after opening the samples; if nothing changes in the page the stats are not updated. However, when hovering on the text its background is coloured, which causes a redraw and the stats are updated. In the virtual machine both filter types cause lag; it happens even when updating an element that is not overlapping the element that has the blur (for example, the first paragraph in the It is also worth noting that testing an actual call with the To sum up, from my tests:
However, there are also issues in Chromium bug tracker about blur being slow with GPU rasterization rather than without it 🤷 (although I can not reproduce that). So it would be good to have more testing on this (with actual calls rather than the test code), preferably with low end devices, as the sample size right now is quite limited. |
What about the middle ground / first step of removing the blur for the grey call background? |
still a problem |
Notice the sharp fps drop when the filter is active
Screen.Recording.2022-09-12.at.14.26.21.mov
The text was updated successfully, but these errors were encountered: