Closed Bug 1381857 Opened 7 years ago Closed 2 years ago

Long (multi-second) pauses in Mac GL code waiting on mutexes when loading bankofamerica.com

Categories

(Core :: Graphics, enhancement, P3)

53 Branch
enhancement

Tracking

()

RESOLVED WORKSFORME
Performance Impact low
Tracking Status
firefox-esr52 --- wontfix
firefox55 --- wontfix
firefox56 --- wontfix
firefox57 --- fix-optional

People

(Reporter: bzbarsky, Unassigned)

References

()

Details

(Keywords: perf, Whiteboard: [gfx-noted])

When I load https://www.bankofamerica.com/ I often get a long UI process pause.  I finally caught one of these in the profiler.  I can't link you to the whole profile, since that has various private info about urls I have loaded, but the relevant bit in the chrome process is this:

__44-[NSApplication _reactToScreenInvalidation:]_block_invoke
 -[NSApplication _reactToScreenInvalidationImmediately:]
  -[NSApplication makeWindowsPerform:inOrder:]
   -[NSApplication _findWindowWithOptions:passingTest:]
    -[NSApplication enumerateWindowsWithOptions:usingBlock:]
     __52-[NSApplication _findWindowWithOptions:passingTest:]_block_invoke
      __44-[NSApplication makeWindowsPerform:inOrder:]_block_invoke
       -[NSWindow _displayChangedSoAdjustWindows:]
        -[NSWindow _screenChanged:]
         -[NSWindow _updateSettingsSendingScreenChangeNotificationIfNeeded:]
          NSPerformVisuallyAtomicChange
           -[NSNotificationCenter postNotificationName:object:userInfo:]
            __CFXNotificationPost
             -[_CFXNotificationRegistrar find:object:observer:enumerator:]
              ____CFXNotificationPost_block_invoke
               __CFXRegistrationPost
                ___CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__
                 -[NSSurface _windowDidChangeScreens:]
                  -[NSNotificationCenter postNotificationName:object:userInfo:]
                   __CFXNotificationPost
                    -[_CFXNotificationRegistrar find:object:observer:enumerator:]
                     ____CFXNotificationPost_block_invoke
                      __CFXRegistrationPost
                       ___CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__
                        -[ChildView _surfaceNeedsUpdate:]
                         CGLLockContext
                          _pthread_mutex_lock_slow
                           __psynch_mutexwait

and the wall-clock time spent in the mutexwait is about 2 seconds.
Whiteboard: [qf] → [qf:p3]
Priority: -- → P3
Whiteboard: [qf:p3] → [qf:p3][gfx-noted]
This might be related to bug 1387319 in terms of underlying mechanism....
See Also: → 1387319
Keywords: perf
Performance Impact: --- → P3
Whiteboard: [qf:p3][gfx-noted] → [gfx-noted]

This got fixed by CoreAnimation.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.