Changeset 90850 in webkit
- Timestamp:
- Jul 12, 2011 2:22:45 PM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r90849 r90850 1 2011-07-12 John Bates <jbates@google.com> 2 3 Move call to syncCompositingLayers so that we do not trigger redundant draws. 4 https://bugs.webkit.org/show_bug.cgi?id=64224 5 6 doComposite was triggering two composites every time a canvas was dirtied. 7 By moving syncCompositingLayers call to layout, the client code can draw without triggering 8 a redundant frame. Also renamed WebViewImpl::updateLayers to 9 syncCompositingLayers, because it was confusing. CCLayerTreeHostImplProxy::updateLayers was 10 no longer needed, because animateAndLayout calls WebViewImpl::layout. 11 12 Reviewed by James Robinson. 13 14 * platform/graphics/chromium/LayerRendererChromium.cpp: 15 (WebCore::LayerRendererChromium::updateLayers): 16 * platform/graphics/chromium/LayerRendererChromium.h: 17 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: 18 (WebCore::CCLayerTreeHost::syncCompositingLayers): 19 * platform/graphics/chromium/cc/CCLayerTreeHost.h: 20 * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: 21 (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit): 22 1 23 2011-07-12 Ryosuke Niwa <rniwa@webkit.org> 2 24 -
trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
r90842 r90850 250 250 void LayerRendererChromium::updateLayers() 251 251 { 252 CCLayerTreeHost::updateLayers();253 252 if (m_viewportVisibleRect.isEmpty()) 254 253 return; -
trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h
r90505 r90850 91 91 92 92 // updates and draws the current layers onto the backbuffer 93 v irtual void updateLayers();93 void updateLayers(); 94 94 void drawLayers(); 95 95 -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp
r89837 r90850 92 92 } 93 93 94 void CCLayerTreeHost::updateLayers()95 {96 m_client->updateLayers();97 94 } 98 99 } -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h
r89837 r90850 42 42 virtual void animateAndLayout(double frameBeginTime) = 0; 43 43 virtual PassRefPtr<GraphicsContext3D> createLayerTreeHostContext3D() = 0; 44 virtual void updateLayers() = 0;45 44 46 45 protected: … … 64 63 void setNeedsRedraw(); 65 64 66 virtual void updateLayers();67 68 65 protected: 69 66 virtual PassOwnPtr<CCLayerTreeHostImplProxy> createLayerTreeHostImplProxy() = 0; -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp
r89837 r90850 148 148 149 149 m_commitPending = false; 150 {151 TRACE_EVENT("CCLayerTreeHost::updateLayers", this, 0);152 m_layerTreeHost->updateLayers();153 }154 150 155 151 OwnPtr<CCLayerTreeHostCommitter> committer = m_layerTreeHost->createLayerTreeHostCommitter(); -
trunk/Source/WebKit/chromium/ChangeLog
r90843 r90850 1 2011-07-12 John Bates <jbates@google.com> 2 3 Move call to syncCompositingLayers so that we do not trigger redundant draws. 4 https://bugs.webkit.org/show_bug.cgi?id=64224 5 6 doComposite was triggering two composites every time a canvas was dirtied. 7 By moving syncCompositingLayers call to layout, the client code can draw without triggering 8 a redundant frame. Also renamed WebViewImpl::updateLayers to 9 syncCompositingLayers, because it was confusing. 10 11 Reviewed by James Robinson. 12 13 * src/WebViewImpl.cpp: 14 (WebKit::WebViewImpl::layout): 15 (WebKit::WebViewImpl::syncCompositingLayers): 16 * src/WebViewImpl.h: 17 1 18 2011-07-12 Sheriff Bot <webkit.review.bot@gmail.com> 2 19 -
trunk/Source/WebKit/chromium/src/WebViewImpl.cpp
r90505 r90850 1060 1060 1061 1061 webframe->layout(); 1062 1063 #if USE(ACCELERATED_COMPOSITING) 1064 // Call updateLayers here instead of during doComposite so that we don't 1065 // trigger another redundant frame during doComposite. 1066 if (isAcceleratedCompositingActive()) 1067 syncCompositingLayers(); 1068 #endif 1062 1069 } 1063 1070 } … … 1144 1151 } 1145 1152 1146 void WebViewImpl::updateLayers() 1147 { 1153 void WebViewImpl::syncCompositingLayers() 1154 { 1155 TRACE_EVENT("WebViewImpl::syncCompositingLayers", this, 0); 1148 1156 // Update the compositing requirements for all frame in the tree before doing any painting 1149 1157 // as the compositing requirements for a RenderLayer within a subframe might change. -
trunk/Source/WebKit/chromium/src/WebViewImpl.h
r89837 r90850 207 207 virtual void animateAndLayout(double frameBeginTime); 208 208 virtual PassRefPtr<WebCore::GraphicsContext3D> createLayerTreeHostContext3D(); 209 virtual void updateLayers();210 209 211 210 // WebViewImpl … … 433 432 void updateLayerRendererSettings(); 434 433 void updateLayerRendererViewport(); 434 void syncCompositingLayers(); 435 435 #endif 436 436
Note: See TracChangeset
for help on using the changeset viewer.