Changeset 196623 in webkit


Ignore:
Timestamp:
Feb 15, 2016 9:39:57 PM (8 years ago)
Author:
ChangSeok Oh
Message:

[ThreadedCompositor] position:fixed elements do not have their own layers when threaded compositor is enabled.
https://bugs.webkit.org/show_bug.cgi?id=154100

Reviewed by Carlos Garcia Campos.

Currently, fixed elements are redrawn to a backing store every time layout or scroll happens.
It results in the bad effect on performance-wise. Letting fixed element have separate layers is
necessary when threaded compositor is enabled at least. Because async scrolling requires it.

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::updatePreferences):

Location:
trunk/Source/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r196609 r196623  
     12016-02-15  ChangSeok Oh  <changseok.oh@collabora.com>
     2
     3        [ThreadedCompositor] position:fixed elements do not have their own layers when threaded compositor is enabled.
     4        https://bugs.webkit.org/show_bug.cgi?id=154100
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        Currently, fixed elements are redrawn to a backing store every time layout or scroll happens.
     9        It results in the bad effect on performance-wise. Letting fixed element have separate layers is
     10        necessary when threaded compositor is enabled at least. Because async scrolling requires it.
     11
     12        * WebProcess/WebPage/DrawingAreaImpl.cpp:
     13        (WebKit::DrawingAreaImpl::updatePreferences):
     14
    1152016-02-15  Alex Christensen  <achristensen@webkit.org>
    216
  • trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp

    r192510 r196623  
    249249void DrawingAreaImpl::updatePreferences(const WebPreferencesStore& store)
    250250{
    251     m_webPage.corePage()->settings().setForceCompositingMode(store.getBoolValueForKey(WebPreferencesKey::forceCompositingModeKey()));
     251    Settings& settings = m_webPage.corePage()->settings();
     252    settings.setForceCompositingMode(store.getBoolValueForKey(WebPreferencesKey::forceCompositingModeKey()));
     253
     254#if USE(COORDINATED_GRAPHICS_THREADED)
     255    // Fixed position elements need to be composited and create stacking contexts
     256    // in order to be scrolled by the ScrollingCoordinator.
     257    settings.setAcceleratedCompositingForFixedPositionEnabled(true);
     258    settings.setFixedPositionCreatesStackingContext(true);
     259#endif
    252260}
    253261
Note: See TracChangeset for help on using the changeset viewer.