Project

General

Profile

Actions

Bug #6253

closed

100% CPU load on client in Show event window

Added by Radko Krkoš almost 5 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
High
Assignee:
Category:
Development - GUI
Target version:
Start date:
03/05/2020
Due date:
% Done:

100%

Estimated time:
To be discussed:
No

Description

A requestAnimationFrame Promise Callback from popper.min.js (what is some tooltip and positioning JS library) takes about 60ms to execute and is called repeatedly, leading to 100% CPU load and very low client responsiveness (I get 0.2 FPS on Firefox 68.5 ESR on i7-6500U) making the UI unusable.
A complication is that this does not happen all the time, but frequently enough to be super annoying. It does not seem to be related to specific events.
Sometimes the Promise Callback takes much less time, but triggers several Style Recalculations for many elements. All the time it seems to be called in loop, so load is extreme and usability abysmal.

Actions #1

Updated by Jan Mach almost 5 years ago

  • Priority changed from Normal to High
  • Target version changed from Backlog to 2.7

Thank you for reporting, I have identified the root of the problem. Popovers are created on hover, but not destroyed on cursor leaving the element. New popover is created on next hover, so...yeah, bad (because positions for popovers are calculated for all popovers, even those invisible, hence the 100% load). I will schedule it for next release.

Actions #2

Updated by Jan Mach almost 5 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100
  • To be discussed changed from No to Yes

Attached patch should resolve the issue. Deploying to mentat-alt.

Actions #3

Updated by Jan Mach almost 5 years ago

  • Assignee changed from Jan Mach to Radko Krkoš
  • To be discussed changed from Yes to No

Issue seems to be resolved on mentat-alt. It is just necessary to make sure /mentat/static/design/js/hawat-jquery.js is not cached in the browser.

Actions #4

Updated by Jan Mach almost 5 years ago

Use CTRL+SHIFT+R to refresh everything including scripts in Chrome (i did not know that before).

Actions #5

Updated by Radko Krkoš almost 5 years ago

  • Status changed from Resolved to Closed

I am not able to reproduce the issue on mentat-alt now, while easily reproducing it on mentat-hub.
There is still a lot of JavaScript calculations going on, but my client seems capable of handling it at 50 FPS+.
Closing. Thanks, this was a nasty one.

Actions

Also available in: Atom PDF