Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/layer_tree_host_impl.h" | 5 #include "cc/layer_tree_host_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
| (...skipping 1045 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1056 m_resourceProvider.reset(); | 1056 m_resourceProvider.reset(); |
| 1057 m_outputSurface.reset(); | 1057 m_outputSurface.reset(); |
| 1058 | 1058 |
| 1059 if (!outputSurface->BindToClient(this)) | 1059 if (!outputSurface->BindToClient(this)) |
| 1060 return false; | 1060 return false; |
| 1061 | 1061 |
| 1062 scoped_ptr<ResourceProvider> resourceProvider = ResourceProvider::create(out putSurface.get()); | 1062 scoped_ptr<ResourceProvider> resourceProvider = ResourceProvider::create(out putSurface.get()); |
| 1063 if (!resourceProvider) | 1063 if (!resourceProvider) |
| 1064 return false; | 1064 return false; |
| 1065 | 1065 |
| 1066 if (m_settings.implSidePainting) | 1066 if (m_settings.implSidePainting) { |
| 1067 m_tileManager.reset(new TileManager(this, resourceProvider.get(), m_settin gs.numRasterThreads, m_settings.recordRenderingStats)); | 1067 m_tileManager.reset(new TileManager(this, resourceProvider.get(), m_sett ings.numRasterThreads)); |
| 1068 m_tileManager->SetRecordRenderingStats(m_settings.recordRenderingStats); | |
| 1069 } | |
| 1068 | 1070 |
| 1069 if (outputSurface->Capabilities().has_parent_compositor) | 1071 if (outputSurface->Capabilities().has_parent_compositor) |
| 1070 m_renderer = DelegatingRenderer::Create(this, outputSurface.get(), resou rceProvider.get()); | 1072 m_renderer = DelegatingRenderer::Create(this, outputSurface.get(), resou rceProvider.get()); |
| 1071 else if (outputSurface->Context3D()) | 1073 else if (outputSurface->Context3D()) |
| 1072 m_renderer = GLRenderer::create(this, outputSurface.get(), resourceProvi der.get()); | 1074 m_renderer = GLRenderer::create(this, outputSurface.get(), resourceProvi der.get()); |
| 1073 else if (outputSurface->SoftwareDevice()) | 1075 else if (outputSurface->SoftwareDevice()) |
| 1074 m_renderer = SoftwareRenderer::create(this, resourceProvider.get(), outp utSurface->SoftwareDevice()); | 1076 m_renderer = SoftwareRenderer::create(this, resourceProvider.get(), outp utSurface->SoftwareDevice()); |
| 1075 if (!m_renderer) | 1077 if (!m_renderer) |
| 1076 return false; | 1078 return false; |
| 1077 | 1079 |
| (...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1707 return NULL; | 1709 return NULL; |
| 1708 } | 1710 } |
| 1709 | 1711 |
| 1710 skia::RefPtr<SkPicture> LayerTreeHostImpl::capturePicture() | 1712 skia::RefPtr<SkPicture> LayerTreeHostImpl::capturePicture() |
| 1711 { | 1713 { |
| 1712 LayerTreeImpl* tree = pendingTree() ? pendingTree() : activeTree(); | 1714 LayerTreeImpl* tree = pendingTree() ? pendingTree() : activeTree(); |
| 1713 LayerImpl* layer = getNonCompositedContentLayerRecursive(tree->RootLayer()); | 1715 LayerImpl* layer = getNonCompositedContentLayerRecursive(tree->RootLayer()); |
| 1714 return layer ? layer->getPicture() : skia::RefPtr<SkPicture>(); | 1716 return layer ? layer->getPicture() : skia::RefPtr<SkPicture>(); |
| 1715 } | 1717 } |
| 1716 | 1718 |
| 1719 void LayerTreeHostImpl::setDebugState(const LayerTreeDebugState& debugState) | |
| 1720 { | |
|
nduca
2013/02/05 23:09:35
bool continousChanged = m_debugState.continuousPai
| |
| 1721 m_debugState = debugState; | |
| 1722 | |
| 1723 if (m_tileManager) | |
| 1724 m_tileManager->SetRecordRenderingStats(m_settings.recordRenderingStats | | m_debugState.continuousPainting); | |
| 1725 } | |
| 1726 | |
| 1717 void LayerTreeHostImpl::savePaintTime(const base::TimeDelta& totalPaintTime) | 1727 void LayerTreeHostImpl::savePaintTime(const base::TimeDelta& totalPaintTime) |
|
nduca
2013/02/05 23:09:35
in impl side painting && continuous painting mode,
| |
| 1718 { | 1728 { |
| 1719 m_paintTimeCounter->SavePaintTime(totalPaintTime); | 1729 DCHECK(m_debugState.continuousPainting); |
| 1730 base::TimeDelta totalPaintAndRasterizeTime = totalPaintTime; | |
| 1731 | |
| 1732 if (m_tileManager) { | |
| 1733 RenderingStats stats; | |
| 1734 m_tileManager->GetRenderingStats(&stats); | |
| 1735 totalPaintAndRasterizeTime += stats.totalRasterizeTime; | |
|
nduca
2013/02/05 23:09:35
stats.totalRasterizeTimeForNowBinsOnPendingTree
| |
| 1736 } | |
| 1737 | |
| 1738 m_paintTimeCounter->SavePaintTime(totalPaintAndRasterizeTime, m_fpsCounter-> currentFrameNumber()); | |
| 1720 } | 1739 } |
| 1721 | 1740 |
| 1722 } // namespace cc | 1741 } // namespace cc |
| OLD | NEW |