Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2325)

Unified Diff: cc/CCSingleThreadProxy.cpp

Issue 10916292: Adaptively throttle texture uploads (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Address comments in PS2, except constant partials Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/CCSingleThreadProxy.cpp
diff --git a/cc/CCSingleThreadProxy.cpp b/cc/CCSingleThreadProxy.cpp
index f6d4f67f1a9cb60c058611abbc39c5f57cc775e2..9ed818a00995c03762ba3e5e65c73a954fc0ef6b 100644
--- a/cc/CCSingleThreadProxy.cpp
+++ b/cc/CCSingleThreadProxy.cpp
@@ -16,6 +16,13 @@
using namespace WTF;
+namespace {
+
+// We don't need to split texture uploads into multiple batches if we are single threaded.
+const size_t maxTextureUpdates = std::numeric_limits<size_t>::max();
+
+}
+
namespace WebCore {
PassOwnPtr<CCProxy> CCSingleThreadProxy::create(CCLayerTreeHost* layerTreeHost)
@@ -193,7 +200,7 @@ void CCSingleThreadProxy::doCommit(CCTextureUpdateQueue& queue)
// single thread mode. For correctness, loop until no more updates are
// pending.
while (queue.hasMoreUpdates())
- CCTextureUpdateController::updateTextures(m_layerTreeHostImpl->resourceProvider(), m_layerTreeHostImpl->renderer()->textureCopier(), m_layerTreeHostImpl->renderer()->textureUploader(), &queue, maxPartialTextureUpdates());
+ CCTextureUpdateController::updateTextures(m_layerTreeHostImpl->resourceProvider(), m_layerTreeHostImpl->renderer()->textureCopier(), m_layerTreeHostImpl->renderer()->textureUploader(), &queue, maxTextureUpdates);
m_layerTreeHost->finishCommitOnImplThread(m_layerTreeHostImpl.get());
@@ -287,7 +294,7 @@ bool CCSingleThreadProxy::commitAndComposite()
}
CCTextureUpdateQueue queue;
- m_layerTreeHost->updateLayers(queue, m_layerTreeHostImpl->memoryAllocationLimitBytes());
+ m_layerTreeHost->updateLayers(queue, m_layerTreeHostImpl->memoryAllocationLimitBytes(), maxTextureUpdates);
m_layerTreeHostImpl->resetContentsTexturesPurged();
m_layerTreeHost->willCommit();

Powered by Google App Engine
This is Rietveld 408576698